POJ2221+模拟

参考http://blog.sina.com.cn/s/blog_7de5c6210100tm1h.html

其实是水题。。。。。。。。。。。。

 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
");
57         else
58             printf("LEFTOVER POSSUM
");
59     }
60     return 0;
61 }
View Code
keep moving...
原文地址:https://www.cnblogs.com/xxx0624/p/3202129.html