首先说一下关于CPU cache对程序性能的影响:
别人博客讲解:
对题目影响的体现:
HDU4902:
#include<stdio.h> int n,a[805][805],b[805][805],c[805][805]; int main() { int i,j,t; while(~scanf("%d",&n)) { int x; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { scanf("%d",&x); a[i][j]=x%3; } for(i=1;i<=n;i++) for(j=1;j<=n;j++) { scanf("%d",&x); b[j][i]=x%3; } for(i=1;i<=n;i++){ for(j=1;j<=n;j++) { c[i][j]=0; for(t=1;t<=n;t++) { c[i][j]+=a[i][t]*b[j][t]; }c[i][j]%=3; if(j==1) printf("%d",c[i][j]); else printf(" %d",c[i][j]); }printf("\n");} } return 0; }
此题对时间卡的较紧,必须使用矩阵的转置才能AC。