Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register
欢迎参加IJCAI 2020麻将智能体竞赛,大奖等你拿!Welcome to IJCAI 2020 Mahjong AI competition with amazing prizes! | 北京大学《ACM/ICPC大学生程序设计竞赛训练》暑期课面向全球招生!

Re:RE!!!附代码,求牛人指教

Posted by shenfangyi at 2006-10-17 14:12:17 on Problem 2918
In Reply To:RE!!!附代码,求牛人指教 Posted by:shenfangyi at 2006-10-17 06:01:35
顶啊,跪求牛人


> #include<stdio.h>
> char a[9][7000000];
> int r[9][10],c[9][10],z[3][3][10];
> struct
> {
>     int x,y;
> }b[82];
> main()
> {
>     int n;
>     scanf("%d",&n);
>     for(int nn=1;nn<=n;nn++)
>     {
>         gets(a[0]);
>         int bb=0;
>         for(int i=0;i<9;i++)
>         {
>             gets(a[i]);
>             int k=0;
>             for(int j=0;j<9;j++)
>             {
>                 while((a[i][k]<'0')||(a[i][k]>'9'))k++;
>                 a[i][j]=a[i][k];
>                 k++;
>             }
>             a[i][9]=0;
>             for(int j=0;j<9;j++)
>             {
>                 if(a[i][j]=='0')
>                 {
>                     b[bb].x=i;
>                     b[bb].y=j;
>                     bb++;
>                 }
>                 else r[i][a[i][j]-'0']=c[j][a[i][j]-'0']=z[i/3][j/3][a[i][j]-'0']=1;
>             }
>         }
>         int i=0;
>         while(i<bb)
>         {
>             int j=a[b[i].x][b[i].y]-'0'+1;
>             for(;j<10;j++)
>             {
>                 if((!r[b[i].x][j])&&(!c[b[i].y][j])&&(!z[b[i].x/3][b[i].y/3][j]))
>                 {
>                     r[b[i].x][j]=c[b[i].y][j]=z[b[i].x/3][b[i].y/3][j]=1;
>                     a[b[i].x][b[i].y]=j+'0';
>                     break;
>                 }
>             }
>             if(j<10)
>             {
>                 i++;
>                 if(i<bb)a[b[i].x][b[i].y]='0';
>             }
>             else
>             {
>                 i--;
>                 r[b[i].x][a[b[i].x][b[i].y]-'0']=c[b[i].y][a[b[i].x][b[i].y]-'0']=z[b[i].x/3][b[i].y/3][a[b[i].x][b[i].y]-'0']=0;
>             }
>         }
>         printf("Scenario #%d:\n",nn);
>         for(int i=0;i<9;i++)puts(a[i]);
>         puts("");
>     }
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator