http://poj.org/problem?id=3752
不知道怎么回事竟然超时了,感觉这样的题不会超时也不该超时的啊,请大神指点啊
#include<iostream>
using namespace std;
int main()
{
int m,n,sign,p,i,j;
cin>>m>>n;
char a[1001][1001];
for(i=0; i<m; i++)
for(j=0; j<n; j++)
a[i][j]=0;
p=65;
i=0; j=-1;
sign=1;
int sum=0;
while(1)
{
if(sign==1)
{
if(j+1>=n || a[i][j+1]!=0)
sign=2;
else
{
a[i][j+1]=p++;sum++;
j++;
}
}
if(sign==2)
{
if(i>=m || a[i+1][j]!=0)
sign=3;
else
{
a[i+1][j]=p++; sum++;i++;
}
}
if(sign==3)
{
if(j<0 || a[i][j-1]!=0)
sign=4;
else
{
a[i][j-1]=p++;sum++;j--;
}
}
if(sign==4)
{
if(i<0 || a[i-1][j]!=0)
sign=1;
else
{
a[i-1][j]=p++;sum++;i--;
}
}
if(p==91)
p=65;
if(sum==m*n)
break;
}
for(i=0;i<m; i++)
{
for(j=0; j<n; j++)
{
cout<<a[i][j];
if(j!=n-1)
cout<<" ";
}
cout<<endl;
}
return 0;
}