CodeStream

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  12 随笔 :: 0 文章 :: 6 评论 :: 0 Trackbacks
#include <iostream>
#include 
<stdio.h>
#include 
<memory.h>
using namespace std;

#define mat_size 100

struct Mat
{
    
int m, n;
    
int mt[mat_size][mat_size];
    
};

Mat 
operator *(Mat a, Mat b)
{
    
int i, j, k, s;
    Mat ans;
    
for (i = 0; i < a.m; i++)
        
for (j = 0; j < b.n; j++)
        {
            s 
= 0;
            
for (k = 0; k < a.n; k++)
            {
                s 
+= a.mt[i][k]*b.mt[k][j];
            }
            ans.mt[i][j] 
= s;
        }
        
return ans;
}

Mat mat_pow(Mat a, 
int b)
{
    Mat s;
    
while (b)
    {
        
if (b&1)s = s * a;
        a 
= a*a;
        b 
<<= 1;
    }
    
return s;
}

int main()
{
    
    
return 0;
}
posted on 2011-05-13 16:26 CodeStream 阅读(467) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理