讨论 / wish来看看,哪慢了
8635722 2011-11-08 17:06:00
点我顶贴 收藏 删除
#include<stdio.h>

int a[501][501];

int max[1002][1002];

int main()

{

int n;

scanf("%d",&n);

int i,j,k;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

scanf("%d",&a[i][j]);

for(i=1;i<=n;i++) {a[i][0]=a[i][n];a[0][i]=a[n][i];}

for(i=1;i<2*n;i++) {max[i][i+1]=1;max[i+1][i]=1;}

for(i=1;i<=n;i++)

for(j=1;j+i<=2*n;j++)

for(k=j+1;k<j+i;k++)

{

if(a[j%n][k%n]==1||a[(j+i)%n][k%n]==1) if(max[j][k]&&max[k][j+i]) max[j][j+i]=1;

}

int sum=0;

for(i=1;i<=n;i++)

if(max[i][i+n]==1) sum++;

printf("%d",sum);

for(i=1;i<=n;i++)

if(max[i][i+n]==1) {printf("\n");printf("%d",i);}

}

#1 8635722@2009-06-14 03:19:00
回复 删除
第一个点过不了,其余的最慢的100多ms
#2 小号一个@2009-06-18 03:16:00
回复 删除
别老烦WISH。。。。他快忙死的了 哈哈
#3 wjltz@2011-07-12 22:06:00
回复 删除
我也是唉……

#4 xrxtzz@2011-11-08 17:06:00
回复 删除
第一个点过不了是怎么的

第一个点过不了是怎么的

查看更多回复
提交回复