POJ2221+模拟
参考http://blog.sina.com.cn/s/blog_7de5c6210100tm1h.html
其实是水题。。。。。。。。。。。。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<string.h> 2 #include<stdio.h> 3 int mat[ 12 ][ 12 ],temp[ 12 ][ 12 ]; 4 bool flag[ 12 ]; 5 6 void solve(){ 7 memset( temp,0,sizeof( temp ) ); 8 for( int i=0;i<4;i++ ){ 9 for( int j=0;j<10;j++ ){ 10 if( mat[i][j]!=0 ) 11 temp[i][ (j-mat[i][j]+10)%10 ] = mat[i][j]; 12 } 13 } 14 for( int i=4;i<8;i++ ){ 15 for( int j=0;j<10;j++ ){ 16 if( mat[i][j]!=0 ) 17 temp[i][ (j+mat[i][j])%10 ] = mat[i][j]; 18 } 19 } 20 for( int i=0;i<8;i++ ){ 21 for( int j=0;j<10;j++ ){ 22 mat[i][j] = temp[i][j]; 23 } 24 } 25 } 26 27 int main(){ 28 char s[ 12 ]; 29 while( scanf("%s",s)!=EOF ){ 30 for( int i=0;i<8;i++ ) 31 for( int j=0;j<10;j++ ) 32 scanf("%d",&mat[i][j]); 33 scanf("%s",s); 34 memset( flag,true,sizeof( flag ) ); 35 for( int i=0;i<4;i++ ){ 36 for( int j=0;j<10;j++ ){ 37 for( int k=0;k<=mat[i][j]&&mat[i][j]!=0;k++ ){ 38 flag[ (j-k+10)%10 ] = false; 39 } 40 } 41 solve( ); 42 } 43 for( int i=4;i<8;i++ ){ 44 for( int j=0;j<10;j++ ){ 45 for( int k=0;k<=mat[i][j]&&mat[i][j]!=0;k++ ){ 46 flag[ (j+k)%10 ] = false; 47 } 48 } 49 solve( ); 50 } 51 int i; 52 for( i=0;i<10;i++ ) 53 if( flag[i]==true ) 54 break; 55 if( i==10 ) 56 printf("FROGGER\n"); 57 else 58 printf("LEFTOVER POSSUM\n"); 59 } 60 return 0; 61 }
keep moving...