F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

View Compilation Error

0_0_20613553_27187.cpp: In function 'int main()':
0_0_20613553_27187.cpp:4:2710: error: 'memset' was not declared in this scope
     using namespace std;const int N = 10;struct Domino{    int x,y;}d[40];struct Uncover{    int x,y;}u[N*N];int map[N][N],st[3][9],t,num;int dir[2][2]={{0,1},{1,0}};bool vis[N][N],flag;void init(){    for(int i=1;i<=8;i++)        for(int j=i+1;j<=9;j++)        {            d[t].x=i,d[t].y=j;            t++;        }}bool isfinish(){    for(int i=0;i<3;i++)        for(int j=0;j<9;j++)            if(st[i][j]!=((1<<9)-1))                return false;    return true;}bool check(int x,int y,int xx,int yy,int first,int second){    int ss1=(x/3)*3+y/3,ss2=(xx/3)*3+yy/3;    first--,second--;    if((st[0][x]&(1<<first))||(st[0][xx]&(1<<second)))        return false;    if((st[1][y]&(1<<first))||(st[1][yy]&(1<<second)))        return false;    if((st[2][ss1]&(1<<first))||(st[2][ss2]&(1<<second)))        return false;    st[0][x]|=(1<<first),st[0][xx]|=(1<<second);    st[1][y]|=(1<<first),st[1][yy]|=(1<<second);    st[2][ss1]|=(1<<first),st[2][ss2]|=(1<<second);    return true;}void restore(int x,int y,int xx,int yy,int first,int second){    int ss1=(x/3)*3+y/3,ss2=(xx/3)*3+yy/3;    first--,second--;    st[0][x]&=~(1<<first),st[0][xx]&=~(1<<second);    st[1][y]&=~(1<<first),st[1][yy]&=~(1<<second);    st[2][ss1]&=~(1<<first),st[2][ss2]&=~(1<<second);}void set(int x,int y,int a){    int ss=(x/3)*3+y/3;    a--;    st[0][x]|=(1<<a);    st[1][y]|=(1<<a);    st[2][ss]|=(1<<a);}void dfs(int n){    int x=u[n].x,y=u[n].y;    if(isfinish())    {        flag=true;        return ;    }    for(int i=0;i<t;i++)    {            if(vis[d[i].x][d[i].y])            continue;        vis[d[i].x][d[i].y]=true;        for(int f=0;f<2;f++)        {            int first=d[i].x,second=d[i].y;            if(f&1) swap(first,second);            for(int k=0;k<2;k++)            {                    int temp=n;                int xx=x+dir[k][0];                int yy=y+dir[k][1];                if(xx<0 || xx>=9 || yy<0 || yy>=9 || map[xx][yy]!=0)                    continue;                if(!check(x,y,xx,yy,first,second))                    continue;                map[x][y]=first,map[xx][yy]=second;                if(map[u[temp+1].x][u[temp+1].y]==0)                    dfs(temp+1);                else {                    while(temp<num && map[u[temp+1].x][u[temp+1].y]!=0)                        temp++;                    dfs(temp+1);                }                if(flag) return;                restore(x,y,xx,yy,first,second);                map[x][y]=0,map[xx][yy]=0;            }        }        vis[d[i].x][d[i].y]=false;    }            }int main(){    t=0;    init();    int m,cas=0;    char s1[5],s2[5];    int a,b,c,d;    while(scanf("%d",&m)==1 && m)    {        memset(vis,false,sizeof(vis));        memset(map,0,sizeof(map));        memset(st,0,sizeof(st));        for(int i=0;i<m;i++)        {            scanf("%d %s %d %s",&a,s1,&b,s2);            int x=s1[0]-'A',y=s1[1]-'0'-1;            map[x][y]=a;            set(x,y,a);            x=s2[0]-'A',y=s2[1]-'0'-1;            map[x][y]=b;            set(x,y,b);            vis[a][b]=vis[b][a]=true;        }        for(int i=1;i<=9;i++)        {            scanf("%s",s1);            int x=s1[0]-'A',y=s1[1]-'0'-1;            set(x,y,i);            map[x][y]=i;        }        num=0;        for(int i=0;i<9;i++)            for(int j=0;j<9;j++)                if(map[i][j]==0)                {                    u[num].x=i,u[num].y=j;                    num++;                }        flag=false;        dfs(0);        printf("Puzzle %d\n",++cas);        for(int i=0;i<9;i++)        {            for(int j=0;j<9;j++)                printf("%d",map[i][j]);            puts("");        }    }    return 0;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ^


Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-23 07:49:48, Gzip enabled