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_20612527_15514.cpp:18:26: error: stray '#' in program
     using namespace std; #define me(s) memset(s,0,sizeof(s))#define pb push_backtypedef long long ll;typedef unsigned int uint;typedef unsigned long long ull;typedef pair <int, int> P; const int N=256;int n,m,target;         map<string,string>sol;  queue<string>q;          bool icy[N];char link_l[N],link_r[N],clear_l[N],clear_r[N]; void init(){    memset(icy,0,sizeof(icy));    icy['O']=icy['[']=icy[']']=icy['=']=true;    memset(link_l,' ',sizeof(link_l));        link_l['O']=']';link_l['[']='=';    memset(link_r,' ',sizeof(link_r));         link_r['O']='[';link_r[']']='=';    memset(clear_l,' ',sizeof(clear_l));       clear_l[']']='O';clear_l['=']='[';clear_l['O']='O';clear_l['[']='[';    memset(clear_r,' ',sizeof(clear_r));    clear_r['[']='O';clear_r['=']=']';clear_r['O']='O';clear_r[']']=']';} string fall(string s){    int k,r,p;    for(int i=n-1;i>=0;i--)         for(int j=0;j<m;j++)    {        char ch=s[i*m+j];        if(ch=='O'||ch=='@')        {            for(k=i+1;k<n;k++)if(s[k*m+j]!='.')break;            s[i*m+j]='.';s[(k-1)*m+j]=ch;        }        else if(ch=='[')        {            for(r=j+1;r<m;r++)if(s[i*m+r]=='X'||s[i*m+r]==']')break;              if(s[i*m+r]==']')                      {                for(k=i+1;k<n;k++)                     {                    bool found=false;                    for(p=j;p<=r;p++)if(s[k*m+p]!='.'){found=true;break;}                    if(found)break;                }                for(p=j;p<=r;p++)s[i*m+p]='.';                      for(p=j+1;p<r;p++)s[(k-1)*m+p]='=';                 s[(k-1)*m+j]='[';s[(k-1)*m+r]=']';              }            j=r;             }    }    return s;    } int h(string s){    int a,b,x=s.find('@');    a=x%m-target%m; if(a<0)a=-a;                  if(x/m>target/m)b=x/m-target/m;             else b=(x/m<target/m?1:0);    return a>b?a:b;                          } bool expand(string s,char cmd){    string seq=sol[s]+cmd;    int x=s.find('@');        s[x]='.';                if(cmd=='<'||cmd=='>')       {        s[x]='@';        int p=(cmd=='<'?x+m-1:x+m+1);        if(s[p]=='X')return false;           else if(s[p]=='.')                   {            s[p]='O';            if(icy[s[p-1]])s[p-1]=link_r[s[p-1]];            if(s[p-1]!='.')s[p]=link_l[s[p]];               if(icy[s[p+1]])s[p+1]=link_l[s[p+1]];            if(s[p+1]!='.')s[p]=link_r[s[p]];            }        else          {            s[p]='.';            if(icy[s[p-1]])s[p-1]=clear_r[s[p-1]];              if(icy[s[p+1]])s[p+1]=clear_l[s[p+1]];         }    }    else        {        int p=(cmd=='L'?x-1:x+1);         if(s[p]=='.')s[p]='@';            else        {            if(s[p]=='O')               {                int k;                if(cmd=='L'&&s[p-1]=='.')                {                    for(k=p-1;k>0;k--)if(s[k-1]!='.'||s[k+m]=='.')break;                    s[p]='.';s[k]='O';s[x]='@';                }                if(cmd=='R'&&s[p+1]=='.')                {                    for(k=p+1;k<n*m;k++)if(s[k+1]!='.'||s[k+m]=='.')break;                    s[p]='.';s[k]='O';s[x]='@';                }            }            if(s[p]!='.')              {                if(s[p-m]=='.'&&s[x-m]=='.')s[p-m]='@';                  else s[x]='@';            }        }    }    s=fall(s);      if(h(s)+seq.length()>15)return false;      if(s.find('@')==target)      {        printf("%s\n",seq.c_str());        return true;    }    if(!sol.count(s))      {        sol[s]=seq;        q.push(s);    }    return false;} int main(){    int rnd=0;    init();        while(~scanf("%d%d",&n,&m))    {        if(!n)break;        char mp[20][20];        for(int i=0;i<n;i++)            scanf("%s",mp[i]);        string s="";        for(int i=0;i<n;i++)            for(int j=0;j<m;j++)        {            if(mp[i][j]=='#')            {                target=i*m+j;                mp[i][j]='.';            }            s+=mp[i][j];        }        q.push(s);        sol.clear();        sol[s]="";        printf("Case %d: ",++rnd);        while(!q.empty())        {            string s=q.front();            q.pop();            if(expand(s,'<'))break;            if(expand(s,'>'))break;            if(expand(s,'L'))break;            if(expand(s,'R'))break;        }        while(!q.empty())q.pop();    }}
                          ^
0_0_20612527_15514.cpp:18:61: error: stray '#' in program
     using namespace std; #define me(s) memset(s,0,sizeof(s))#define pb push_backtypedef long long ll;typedef unsigned int uint;typedef unsigned long long ull;typedef pair <int, int> P; const int N=256;int n,m,target;         map<string,string>sol;  queue<string>q;          bool icy[N];char link_l[N],link_r[N],clear_l[N],clear_r[N]; void init(){    memset(icy,0,sizeof(icy));    icy['O']=icy['[']=icy[']']=icy['=']=true;    memset(link_l,' ',sizeof(link_l));        link_l['O']=']';link_l['[']='=';    memset(link_r,' ',sizeof(link_r));         link_r['O']='[';link_r[']']='=';    memset(clear_l,' ',sizeof(clear_l));       clear_l[']']='O';clear_l['=']='[';clear_l['O']='O';clear_l['[']='[';    memset(clear_r,' ',sizeof(clear_r));    clear_r['[']='O';clear_r['=']=']';clear_r['O']='O';clear_r[']']=']';} string fall(string s){    int k,r,p;    for(int i=n-1;i>=0;i--)         for(int j=0;j<m;j++)    {        char ch=s[i*m+j];        if(ch=='O'||ch=='@')        {            for(k=i+1;k<n;k++)if(s[k*m+j]!='.')break;            s[i*m+j]='.';s[(k-1)*m+j]=ch;        }        else if(ch=='[')        {            for(r=j+1;r<m;r++)if(s[i*m+r]=='X'||s[i*m+r]==']')break;              if(s[i*m+r]==']')                      {                for(k=i+1;k<n;k++)                     {                    bool found=false;                    for(p=j;p<=r;p++)if(s[k*m+p]!='.'){found=true;break;}                    if(found)break;                }                for(p=j;p<=r;p++)s[i*m+p]='.';                      for(p=j+1;p<r;p++)s[(k-1)*m+p]='=';                 s[(k-1)*m+j]='[';s[(k-1)*m+r]=']';              }            j=r;             }    }    return s;    } int h(string s){    int a,b,x=s.find('@');    a=x%m-target%m; if(a<0)a=-a;                  if(x/m>target/m)b=x/m-target/m;             else b=(x/m<target/m?1:0);    return a>b?a:b;                          } bool expand(string s,char cmd){    string seq=sol[s]+cmd;    int x=s.find('@');        s[x]='.';                if(cmd=='<'||cmd=='>')       {        s[x]='@';        int p=(cmd=='<'?x+m-1:x+m+1);        if(s[p]=='X')return false;           else if(s[p]=='.')                   {            s[p]='O';            if(icy[s[p-1]])s[p-1]=link_r[s[p-1]];            if(s[p-1]!='.')s[p]=link_l[s[p]];               if(icy[s[p+1]])s[p+1]=link_l[s[p+1]];            if(s[p+1]!='.')s[p]=link_r[s[p]];            }        else          {            s[p]='.';            if(icy[s[p-1]])s[p-1]=clear_r[s[p-1]];              if(icy[s[p+1]])s[p+1]=clear_l[s[p+1]];         }    }    else        {        int p=(cmd=='L'?x-1:x+1);         if(s[p]=='.')s[p]='@';            else        {            if(s[p]=='O')               {                int k;                if(cmd=='L'&&s[p-1]=='.')                {                    for(k=p-1;k>0;k--)if(s[k-1]!='.'||s[k+m]=='.')break;                    s[p]='.';s[k]='O';s[x]='@';                }                if(cmd=='R'&&s[p+1]=='.')                {                    for(k=p+1;k<n*m;k++)if(s[k+1]!='.'||s[k+m]=='.')break;                    s[p]='.';s[k]='O';s[x]='@';                }            }            if(s[p]!='.')              {                if(s[p-m]=='.'&&s[x-m]=='.')s[p-m]='@';                  else s[x]='@';            }        }    }    s=fall(s);      if(h(s)+seq.length()>15)return false;      if(s.find('@')==target)      {        printf("%s\n",seq.c_str());        return true;    }    if(!sol.count(s))      {        sol[s]=seq;        q.push(s);    }    return false;} int main(){    int rnd=0;    init();        while(~scanf("%d%d",&n,&m))    {        if(!n)break;        char mp[20][20];        for(int i=0;i<n;i++)            scanf("%s",mp[i]);        string s="";        for(int i=0;i<n;i++)            for(int j=0;j<m;j++)        {            if(mp[i][j]=='#')            {                target=i*m+j;                mp[i][j]='.';            }            s+=mp[i][j];        }        q.push(s);        sol.clear();        sol[s]="";        printf("Case %d: ",++rnd);        while(!q.empty())        {            string s=q.front();            q.pop();            if(expand(s,'<'))break;            if(expand(s,'>'))break;            if(expand(s,'L'))break;            if(expand(s,'R'))break;        }        while(!q.empty())q.pop();    }}
                                                             ^
0_0_20612527_15514.cpp:18:27: error: 'define' does not name a type
     using namespace std; #define me(s) memset(s,0,sizeof(s))#define pb push_backtypedef long long ll;typedef unsigned int uint;typedef unsigned long long ull;typedef pair <int, int> P; const int N=256;int n,m,target;         map<string,string>sol;  queue<string>q;          bool icy[N];char link_l[N],link_r[N],clear_l[N],clear_r[N]; void init(){    memset(icy,0,sizeof(icy));    icy['O']=icy['[']=icy[']']=icy['=']=true;    memset(link_l,' ',sizeof(link_l));        link_l['O']=']';link_l['[']='=';    memset(link_r,' ',sizeof(link_r));         link_r['O']='[';link_r[']']='=';    memset(clear_l,' ',sizeof(clear_l));       clear_l[']']='O';clear_l['=']='[';clear_l['O']='O';clear_l['[']='[';    memset(clear_r,' ',sizeof(clear_r));    clear_r['[']='O';clear_r['=']=']';clear_r['O']='O';clear_r[']']=']';} string fall(string s){    int k,r,p;    for(int i=n-1;i>=0;i--)         for(int j=0;j<m;j++)    {        char ch=s[i*m+j];        if(ch=='O'||ch=='@')        {            for(k=i+1;k<n;k++)if(s[k*m+j]!='.')break;            s[i*m+j]='.';s[(k-1)*m+j]=ch;        }        else if(ch=='[')        {            for(r=j+1;r<m;r++)if(s[i*m+r]=='X'||s[i*m+r]==']')break;              if(s[i*m+r]==']')                      {                for(k=i+1;k<n;k++)                     {                    bool found=false;                    for(p=j;p<=r;p++)if(s[k*m+p


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 06:36:50, Gzip enabled