3213.txt
来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 74 行
TXT
74 行
Source
Problem Id:3213 User Id:fzk
Memory:8684K Time:795MS
Language:C++ Result:Accepted
Source
#include <stdio.h>
#include <memory.h>
int a[1000][1000], sa[1000];
int b[1000][1000], sb[1000];
int c[1000][1000], sca[1000], scb[1000];
int main( ) {
int n, p, m, i, j, k, x, y;
scanf( "%d%d%d", &n, &p, &m );
memset( sa, 0, sizeof sa );
memset( sb, 0 ,sizeof sb );
for( i=0; i<n; i++ )
for( j=0; j<p; j++ ) {
scanf( "%d", &a[i][j] );
sa[j] += a[i][j];
}
for( i=0; i<p; i++ )
for( j=0 ;j<m; j++ ) {
scanf( "%d", &b[i][j] );
sb[i] += b[i][j];
}
for( i=0; i<n; i++ )
for( j=0; j<m; j++ ) {
scanf( "%d", &c[i][j] );
sca[i] += c[i][j];
scb[j] += c[i][j];
}
int sum = 0;
for( i=0; i<n; i++ ) {
sum = 0;
for( j=0; j<p; j++ )
sum += a[i][j] * sb[j];
if( sum != sca[i] )
break;
}
x = i;
for( i=0; i<m; i++ ) {
sum = 0;
for( j=0; j<p; j++ )
sum += sa[j] * b[j][i];
if( sum != scb[i] )
break;
}
y = i;
if( x < n ) {
printf( "No\n" );
sum = 0;
for( k=0; k<p; k++ )
sum += a[x][k]*b[k][y];
printf( "%d %d\n%d\n", x+1, y+1, sum );
}
else
printf( "Yes\n" );
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?