• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594

            POJ 1676 What time is it?---模擬

            Posted on 2009-10-06 21:55 Uriel 閱讀(451) 評論(0)  編輯 收藏 引用 所屬分類: POJ模擬

            暑假以來一直沒做過模擬。。急劇退化。。搞了數小時。。WA到死啊。。。
            沒什么trick,沒什么好說的。。。純模擬。。。
            改來改去,改來改去。。代碼不是一般的惡心啊。。。

            /*Problem: 1676  User: Uriel 
               Memory: 180K  Time: 0MS 
               Language: C++  Result: Accepted
            */
             

            #include
            <stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>

            int stnd[10][3][3]={{{0,1,0},{2,0,2},{2,1,2}},{{0,0,0},{0,0,2},{0,0,2}},{{0,1,0},{0,1,2},{2,1,0}},
                                
            {{0,1,0},{0,1,2},{0,1,2}},{{0,0,0},{2,1,2},{0,0,2}},{{0,1,0},{2,1,0},{0,1,2}},
                                
            {{0,1,0},{2,1,0},{2,1,2}},{{0,1,0},{0,0,2},{0,0,2}},{{0,1,0},{2,1,2},{2,1,2}},
                                
            {{0,1,0},{2,1,2},{0,1,2}}}
            ;
            int i,j,k,m,cse,g,h,n,res,temp,y,nn; 
            int minute,hour,crt[4];
            int sum[2][4];//每個時間每一位有幾種表示 
            int x[2];//每個時間有幾種可能表示 
            int flag[5][5][12];//保存每一位的每一格,1為_,2為|,0為空 
            int num[10][5][5];//每一位每種可能的具體值 
            int Time[5][10010];//每個時間每種的可能值,化為分鐘 
            char t[5][5][20];//輸入                                   
                                
            int main()
            {
                scanf(
            "%d",&cse);
                
            while(1)
                
            {
            N:      
            if(!cse)break;
                    cse
            --;
                    memset(t,
            0x00,sizeof(t));
                    
            for(i=0;i<3;i++)
                    
            {
                        getchar();
                        
            for(j=0;j<12;j++)
                        
            {               
                            scanf(
            "%c",&t[0][i][j]);
                        }

            //            t[0][i][12]='\0';
            //            printf("*%s*\n",t[0][i]);
                        getchar();
            //            getchar();
                        for(j=0;j<12;j++)
                        
            {
                            scanf(
            "%c",&t[1][i][j]);
                        }

            //            printf("*%s*\n",t[1][i]);
                    }

            /*        for(i=0;i<3;i++)
                    {
                        printf("%s",t[0][i]);
                        printf("%s",t[1][i]);
                        printf("\n");
                    }                   
            */
                
                            
            //        getchar();
            //        getchar();
            //        for(i=0;i<26;i++)getchar();
            //        getline();
                    for(i=0;i<3;i++)//每個case顯示一共3行 
                    {
                        
            for(j=0;j<12;j++)
                        
            {
                            
            if(t[0][i][j]=='_')
                            
            {
                                flag[
            0][i][j]=1;
                            }

                            
            else if(t[0][i][j]=='|')
                            
            {
                                flag[
            0][i][j]=2;
                            }

                            
            else
                            
            {
                                flag[
            0][i][j]=0;
                            }

                            
            if(t[1][i][j]=='_')
                            
            {
                                flag[
            1][i][j]=1;
                            }

                            
            else if(t[1][i][j]=='|')
                            
            {
                                flag[
            1][i][j]=2;
                            }

                            
            else
                            
            {
                                flag[
            1][i][j]=0;
                            }

                        }

                    }

            /*        for(i=0;i<3;i++)//每個case顯示一共3行 
                    {
                        for(j=0;j<12;j++)
                        {
                            printf("%d ",flag[0][i][j]);
                        }
                        for(j=0;j<12;j++)
                        {
                            printf("%d ",flag[1][i][j]);
                        }
                        printf("\n");
                    }                   
            */

                    
            for(i=0;i<2;i++)//pre and after
                    {
                        
            for(j=0;j<4;j++)//sum of digits
                        {
                            sum[i][j]
            =0;
                            
            for(h=0;h<10;h++)
                            
            {
                                
            if(j==0 && h>2)break;
                                
            if(j==2 && h>5)break;
                                y
            =0;
                                
            for(k=0;k<3;k++)
                                
            {
                                    
            for(g=0;g<3;g++)
                                    
            {                            
                                        
            if(flag[i][k][g+3*j]!=stnd[h][k][g] && flag[i][k][g+3*j])
                                        
            {
                                            y
            =1;
                                            
            goto M;
                                        }

                                    }

                                }

            M:                  
            if(!y)
                                
            {
            //                        printf("*");
                                    sum[i][j]++;
                                    num[sum[i][j]
            -1][i][j]=h;
            //                        if(j==1 && i==1)printf("*h=%d*",h);
                                }

                            }

                            
            if(!sum[i][j])
                            
            {
                                printf(
            "Not Sure\n");
                                
            goto N;
                            }

            //                if(sum!=1)
            //                {
            //                    printf("Not Sure\n");
            //                    goto M;
            //                }
                        }

                    }

                    
                    
            for(i=0;i<2;i++)
                    
            {
                        x[i]
            =0
                        
            for(j=0;j<sum[i][0];j++)
                        
            {
                            
            for(k=0;k<sum[i][1];k++)
                            
            {
                                
            for(h=0;h<sum[i][2];h++)
                                
            {
                                    
            for(m=0;m<sum[i][3];m++)
                                    
            {                           
                                        Time[i][x[i]
            ++]=(num[j][i][0]*10+num[k][i][1])*60+num[h][i][2]*10+num[m][i][3];
                                    }

                                }

                            }

                        }

                    }

                    res
            =0;
                    
            for(i=0;i<x[0];i++)
                    
            {
                        
            for(j=0;j<x[1];j++)
                        
            {
            //                printf("*%d %d*\n",Time[0][i],Time[1][j]);
                            if(Time[0][i]<1440 && Time[1][j]<1440 && (Time[0][i]-Time[1][j]==15 || Time[1][j]-Time[0][i]==1425))
                            
            {
            //                    printf("xx%d:%d %d:%d\n",Time[0][i]/60,Time[0][i]%60,Time[1][j]/60,Time[1][j]%60);
                                res++;
                                temp
            =i;
            //                    nn=j;
                            }

                        }

                    }

            //        printf("*%d*\n",res);
            //        printf("*%d %d*\n",Time[0][temp],Time[1][nn]);
                    if(res==1)
                    
            {
                        minute
            =Time[0][temp]%60;
                        hour
            =Time[0][temp]/60;
                        crt[
            0]=hour/10;
                        crt[
            1]=hour%10;
                        crt[
            2]=minute/10;
                        crt[
            3]=minute%10;
                        printf(
            "%d%d%d%d\n",crt[0],crt[1],crt[2],crt[3]);
                    }

                    
            else
                    
            {
                        printf(
            "Not Sure\n");
                    }
                                                               
                }

            //    system("PAUSE");
                return 0;
            }
                                  
                    
            老色鬼久久亚洲AV综合| 亚洲精品国产综合久久一线| 国内精品久久久久久中文字幕| 亚洲人成伊人成综合网久久久 | 国产精品成人99久久久久| 久久人人妻人人爽人人爽| 久久人人爽人人爽人人片av麻烦| 久久久久亚洲精品无码网址| 99热成人精品免费久久| 久久国产精品久久精品国产| 国产精品久久久久久久久免费| 久久精品国产亚洲网站| 久久精品无码一区二区三区免费 | 色播久久人人爽人人爽人人片aV| 久久久久综合中文字幕| 久久久久亚洲AV无码专区首JN| 久久亚洲AV无码精品色午夜麻豆 | 天天爽天天狠久久久综合麻豆| 久久亚洲中文字幕精品一区| 成人久久免费网站| 久久精品aⅴ无码中文字字幕不卡| 国产精品久久99| 久久久久久久亚洲精品| 久久久久久久97| 99精品久久精品| 久久影视综合亚洲| 欧美亚洲色综久久精品国产| 久久夜色tv网站| 久久久久久综合网天天| 久久777国产线看观看精品| 久久一区二区三区99| 新狼窝色AV性久久久久久| 亚洲午夜精品久久久久久人妖| 无码任你躁久久久久久| 无码久久精品国产亚洲Av影片| 久久美女人爽女人爽| 久久久久久国产精品美女| 国产精品热久久毛片| 欧美熟妇另类久久久久久不卡| 久久午夜综合久久| 激情伊人五月天久久综合|