Borderou de evaluare (job #2166131)

Utilizator btudorBazac Tudor btudor Data 13 martie 2018 15:41:12
Problema Miting Status done
Runda Arhiva de probleme Compilator cpp | Vezi sursa
Scor 100

Raport evaluator

Compilare: user.cpp: In function ‘void bfs(int, int, int)’: user.cpp:2:482: warning: unused variable ‘nrx’ [-Wunused-variable] using namespace std;FILE *in,*out;const int iplus[4]={0,0,-1,1},jplus[4]={-1,1,0,0},distmax=400000,nmax=60,kmax=10;char v[1+nmax][1+nmax+4],c[kmax+4];int dp[1+nmax][1+nmax][1+kmax][1+kmax],m,n,lim,st,dr;struct Patratel{int x,y;bool operator< (Patratel other) const{return dp[x][y][st][dr] > dp[other.x][other.y][st][dr];}};queue <Patratel> q;bool check[1+nmax][1+nmax];bool verifica(int i,int j){if(i<=n && i>=1 && j<=m && j>=1)return 1;return 0;}void bfs(int i,int j,int ind){int nrx=0;q.push({i,j});check[i][j]=1;while(q.size()>0){Patratel s=q.front();q.pop();for(int dir=0;dir<4;dir++){int xnew=iplus[dir]+s.x;int ynew=jplus[dir]+s.y;if(verifica(xnew,ynew)==1 && check[xnew][ynew]==0 && v[xnew][ynew]!='#'){dp[xnew][ynew][ind][ind]=dp[s.x][s.y][ind][ind]+1;check[xnew][ynew]=1;q.push({xnew,ynew});}}}memset(check,0,sizeof(check));}queue <Patratel> hp;bool mat[1+nmax][1+nmax];void dinamica(){for(int len=2;len<=lim;len++){for(st=1;st+len-1<=lim;st++){dr=st+len-1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)dp[i][j][st][dr]=(int)1e7;}for(int k=st;k<dr;k++){for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(v[i][j]!='#')dp[i][j][st][dr]=min(dp[i][j][st][k]+dp[i][j][k+1][dr],dp[i][j][st][dr]);}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(v[i][j]!='#')hp.push({i,j});mat[i][j]=1;}}while(hp.size()>0){Patratel s=hp.front();hp.pop();mat[s.x][s.y]=0;for(int dir=0;dir<4;dir++){int xnew=iplus[dir]+s.x;int ynew=jplus[dir]+s.y;if(verifica(xnew,ynew)==1 && v[xnew][ynew]!='#' && dp[xnew][ynew][st][dr]>(dp[s.x][s.y][st][dr]+1)){dp[xnew][ynew][st][dr]=dp[s.x][s.y][st][dr]+1;if(mat[xnew][ynew]==0){mat[xnew][ynew]=1;hp.push({xnew,ynew});}}}}}}}int main(){in=fopen("miting.in","r");out=fopen("miting.out","w");int p,i,st,len,dr,j,ind,sol,linmax,linmin,colmax,colmin;fscanf(in,"%d\n %d %d\n",&p,&n,&m);fgets(c+1,kmax+4,in);lim++;while(c[lim]!='\n')lim++;lim--;for(i=1;i<=n;i++)fgets(v[i]+1,nmax+4,in);if(p==2){for(len=1;len<=lim;len++){for(st=1;st<=lim-len+1;st++){dr=st+len-1;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(v[i][j]>='A' && v[i][j]<='Z')dp[i][j][st][dr]=0;else dp[i][j][st][dr]=distmax;}}}}for(ind=1;ind<=lim;ind++){for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(v[i][j]==c[ind]){bfs(i,j,ind);i=n+1;j=m+1;}}}}dinamica();sol=distmax;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(dp[i][j][1][lim]<sol)sol=dp[i][j][1][lim];}}fprintf(out,"%d",sol);}else if(p==1){linmax=-1;linmin=70;colmax=-1;colmin=70;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if('A'<=v[i][j] && v[i][j]<='Z'){if(i>linmax)linmax=i;if(i<linmin)linmin=i;if(j>colmax)colmax=j;if(j<colmin)colmin=j;}}}sol=(linmax-linmin+1)*(colmax-colmin+1);fprintf(out,"%d",sol);}return 0;} ^ user.cpp: In function ‘int main()’: user.cpp:2:1792: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] using namespace std;FILE *in,*out;const int iplus[4]={0,0,-1,1},jplus[4]={-1,1,0,0},distmax=400000,nmax=60,kmax=10;char v[1+nmax][1+nmax+4],c[kmax+4];int dp[1+nmax][1+nmax][1+kmax][1+kmax],m,n,lim,st,dr;struct Patratel{int x,y;bool operator< (Patratel other) const{return dp[x][y][st][dr] > dp[other.x][other.y][st][dr];}};queue <Patratel> q;bool check[1+nmax][1+nmax];bool verifica(int i,int j){if(i<=n && i>=1 && j<=m && j>=1)return 1;return 0;}void bfs(int i,int j,int ind){int nrx=0;q.push({i,j});check[i][j]=1;while(q.size()>0){Patratel s=q.front();q.pop();for(int dir=0;dir<4;dir++){int xnew=iplus[dir]+s.x;int ynew=jplus[dir]+s.y;if(verifica(xnew,ynew)==1 && check[xnew][ynew]==0 && v[xnew][ynew]!='#'){dp[xnew][ynew][ind][ind]=dp[s.x][s.y][ind][ind]+1;check[xnew][ynew]=1;q.push({xnew,ynew});}}}memset(check,0,sizeof(check));}queue <Patratel> hp;bool mat[1+nmax][1+nmax];void dinamica(){for(int len=2;len<=lim;len++){for(st=1;st+len-1<=lim;st++){dr=st+len-1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)dp[i][j][st][dr]=(int)1e7;}for(int k=st;k<dr;k++){for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(v[i][j]!='#')dp[i][j][st][dr]=min(dp[i][j][st][k]+dp[i][j][k+1][dr],dp[i][j][st][dr]);}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(v[i][j]!='#')hp.push({i,j});mat[i][j]=1;}}while(hp.size()>0){Patratel s=hp.front();hp.pop();mat[s.x][s.y]=0;for(int dir=0;dir<4;dir++){int xnew=iplus[dir]+s.x;int ynew=jplus[dir]+s.y;if(verifica(xnew,ynew)==1 && v[xnew][ynew]!='#' && dp[xnew][ynew][st][dr]>(dp[s.x][s.y][st][dr]+1)){dp[xnew][ynew][st][dr]=dp[s.x][s.y][st][dr]+1;if(mat[xnew][ynew]==0){mat[xnew][ynew]=1;hp.push({xnew,ynew});}}}}}}}int main(){in=fopen("miting.in","r");out=fopen("miting.out","w");int p,i,st,len,dr,j,ind,sol,linmax,linmin,colmax,colmin;fscanf(in,"%d\n %d %d\n",&p,&n,&m);fgets(c+1,kmax+4,in);lim++;while(c[lim]!='\n')lim++;lim--;for(i=1;i<=n;i++)fgets(v[i]+1,nmax+4,in);if(p==2){for(len=1;len<=lim;len++){for(st=1;st<=lim-len+1;st++){dr=st+len-1;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(v[i][j]>='A' && v[i][j]<='Z')dp[i][j][st][dr]=0;else dp[i][j][st][dr]=distmax;}}}}for(ind=1;ind<=lim;ind++){for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(v[i][j]==c[ind]){bfs(i,j,ind);i=n+1;j=m+1;}}}}dinamica();sol=distmax;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(dp[i][j][1][lim]<sol)sol=dp[i][j][1][lim];}}fprintf(out,"%d",sol);}else if(p==1){linmax=-1;linmin=70;colmax=-1;colmin=70;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if('A'<=v[i][j] && v[i][j]<='Z'){if(i>linmax)linmax=i;if(i<linmin)linmin=i;if(j>colmax)colmax=j;if(j<colmin)colmin=j;}}}sol=(linmax-linmin+1)*(colmax-colmin+1);fprintf(out,"%d",sol);}return 0;} ^ user.cpp:2:1813: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result [-Wunused-result] using namespace std;FILE *in,*out;const int iplus[4]={0,0,-1,1},jplus[4]={-1,1,0,0},distmax=400000,nmax=60,kmax=10;char v[1+nmax][1+nmax+4],c[kmax+4];int dp[1+nmax][1+nmax][1+kmax][1+kmax],m,n,lim,st,dr;struct Patratel{int x,y;bool operator< (Patratel other) const{return dp[x][y][st][dr] > dp[other.x][other.y][st][dr];}};queue <Patratel> q;bool check[1+nmax][1+nmax];bool verifica(int i,int j){if(i<=n && i>=1 && j<=m && j>=1)return 1;return 0;}void bfs(int i,int j,int ind){int nrx=0;q.push({i,j});check[i][j]=1;while(q.size()>0){Patratel s=q.front();q.pop();for(int dir=0;dir<4;dir++){int xnew=iplus[dir]+s.x;int ynew=jplus[dir]+s.y;if(verifica(xnew,ynew)==1 && check[xnew][ynew]==0 && v[xnew][ynew]!='#'){dp[xnew][ynew][ind][ind]=dp[s.x][s.y][ind][ind]+1;check[xnew][ynew]=1;q.push({xnew,ynew});}}}memset(check,0,sizeof(check));}queue <Patratel> hp;bool mat[1+nmax][1+nmax];void dinamica(){for(int len=2;len<=lim;len++){for(st=1;st+len-1<=lim;st++){dr=st+len-1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)dp[i][j][st][dr]=(int)1e7;}for(int k=st;k<dr;k++){for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(v[i][j]!='#')dp[i][j][st][dr]=min(dp[i][j][st][k]+dp[i][j][k+1][dr],dp[i][j][st][dr]);}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(v[i][j]!='#')hp.push({i,j});mat[i][j]=1;}}while(hp.size()>0){Patratel s=hp.front();hp.pop();mat[s.x][s.y]=0;for(int dir=0;dir<4;dir++){int xnew=iplus[dir]+s.x;int ynew=jplus[dir]+s.y;if(verifica(xnew,ynew)==1 && v[xnew][ynew]!='#' && dp[xnew][ynew][st][dr]>(dp[s.x][s.y][st][dr]+1)){dp[xnew][ynew][st][dr]=dp[s.x][s.y][st][dr]+1;if(mat[xnew][ynew]==0){mat[xnew][ynew]=1;hp.push({xnew,ynew});}}}}}}}int main(){in=fopen("miting.in","r");out=fopen("miting.out","w");int p,i,st,len,dr,j,ind,sol,linmax,linmin,colmax,colmin;fscanf(in,"%d\n %d %d\n",&p,&n,&m);fgets(c+1,kmax+4,in);lim++;while(c[lim]!='\n')lim++;lim--;for(i=1;i<=n;i++)fgets(v[i]+1,nmax+4,in);if(p==2){for(len=1;len<=lim;len++){for(st=1;st<=lim-len+1;st++){dr=st+len-1;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(v[i][j]>='A' && v[i][j]<='Z')dp[i][j][st][dr]=0;else dp[i][j][st][dr]=distmax;}}}}for(ind=1;ind<=lim;ind++){for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(v[i][j]==c[ind]){bfs(i,j,ind);i=n+1;j=m+1;}}}}dinamica();sol=distmax;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(dp[i][j][1][lim]<sol)sol=dp[i][j][1][lim];}}fprintf(out,"%d",sol);}else if(p==1){linmax=-1;linmin=70;colmax=-1;colmin=70;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if('A'<=v[i][j] && v[i][j]<='Z'){if(i>linmax)linmax=i;if(i<linmin)linmin=i;if(j>colmax)colmax=j;if(j<colmin)colmin=j;}}}sol=(linmax-linmin+1)*(colmax-colmin+1);fprintf(out,"%d",sol);}return 0;} ^ user.cpp:2:1891: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result [-Wunused-result] using namespace std;FILE *in,*out;const int iplus[4]={0,0,-1,1},jplus[4]={-1,1,0,0},distmax=400000,nmax=60,kmax=10;char v[1+nmax][1+nmax+4],c[kmax+4];int dp[1+nmax][1+nmax][1+kmax][1+kmax],m,n,lim,st,dr;struct Patratel{int x,y;bool operator< (Patratel other) const{return dp[x][y][st][dr] > dp[other.x][other.y][st][dr];}};queue <Patratel> q;bool check[1+nmax][1+nmax];bool verifica(int i,int j){if(i<=n && i>=1 && j<=m && j>=1)return 1;return 0;}void bfs(int i,int j,int ind){int nrx=0;q.push({i,j});check[i][j]=1;while(q.size()>0){Patratel s=q.front();q.pop();for(int dir=0;dir<4;dir++){int xnew=iplus[dir]+s.x;int ynew=jplus[dir]+s.y;if(verifica(xnew,ynew)==1 && check[xnew][ynew]==0 && v[xnew][ynew]!='#'){dp[xnew][ynew][ind][ind]=dp[s.x][s.y][ind][ind]+1;check[xnew][ynew]=1;q.push({xnew,ynew});}}}memset(check,0,sizeof(check));}queue <Patratel> hp;bool mat[1+nmax][1+nmax];void dinamica(){for(int len=2;len<=lim;len++){for(st=1;st+len-1<=lim;st++){dr=st+len-1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)dp[i][j][st][dr]=(int)1e7;}for(int k=st;k<dr;k++){for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(v[i][j]!='#')dp[i][j][st][dr]=min(dp[i][j][st][k]+dp[i][j][k+1][dr],dp[i][j][st][dr]);}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(v[i][j]!='#')hp.push({i,j});mat[i][j]=1;}}while(hp.size()>0){Patratel s=hp.front();hp.pop();mat[s.x][s.y]=0;for(int dir=0;dir<4;dir++){int xnew=iplus[dir]+s.x;int ynew=jplus[dir]+s.y;if(verifica(xnew,ynew)==1 && v[xnew][ynew]!='#' && dp[xnew][ynew][st][dr]>(dp[s.x][s.y][st][dr]+1)){dp[xnew][ynew][st][dr]=dp[s.x][s.y][st][dr]+1;if(mat[xnew][ynew]==0){mat[xnew][ynew]=1;hp.push({xnew,ynew});}}}}}}}int main(){in=fopen("miting.in","r");out=fopen("miting.out","w");int p,i,st,len,dr,j,ind,sol,linmax,linmin,colmax,colmin;fscanf(in,"%d\n %d %d\n",&p,&n,&m);fgets(c+1,kmax+4,in);lim++;while(c[lim]!='\n')lim++;lim--;for(i=1;i<=n;i++)fgets(v[i]+1,nmax+4,in);if(p==2){for(len=1;len<=lim;len++){for(st=1;st<=lim-len+1;st++){dr=st+len-1;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(v[i][j]>='A' && v[i][j]<='Z')dp[i][j][st][dr]=0;else dp[i][j][st][dr]=distmax;}}}}for(ind=1;ind<=lim;ind++){for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(v[i][j]==c[ind]){bfs(i,j,ind);i=n+1;j=m+1;}}}}dinamica();sol=distmax;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(dp[i][j][1][lim]<sol)sol=dp[i][j][1][lim];}}fprintf(out,"%d",sol);}else if(p==1){linmax=-1;linmin=70;colmax=-1;colmin=70;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if('A'<=v[i][j] && v[i][j]<='Z'){if(i>linmax)linmax=i;if(i<linmin)linmin=i;if(j>colmax)colmax=j;if(j<colmin)colmin=j;}}}sol=(linmax-linmin+1)*(colmax-colmin+1);fprintf(out,"%d",sol);}return 0;} ^ In file included from /usr/include/stdio.h:936:0, from /usr/include/c++/5/cstdio:42, from /usr/include/x86_64-linux-gnu/c++/5/32/bits/stdc++.h:46, from user.cpp:1: In function ‘char* fgets(char*, int, FILE*)’, inlined from ‘int main()’ at user.cpp:2:1813: /usr/include/bits/stdio2.h:261:58: warning: call to ‘__fgets_chk_warn’ declared with attribute warning: fgets called with bigger size than length of destination buffer return __fgets_chk_warn (__s, __bos (__s), __n, __stream); ^
Test Timp executie Memorie folosita Mesaj Punctaj/test
14ms2852kbOK5
24ms2740kbOK5
34ms2936kbOK5
44ms2776kbOK5
54ms2928kbOK5
68ms4292kbOK5
712ms4584kbOK5
812ms4700kbOK5
94ms2904kbOK5
1024ms4392kbOK5
114ms2960kbOK5
1216ms4580kbOK5
134ms3304kbOK5
148ms3228kbOK5
154ms3292kbOK5
1656ms4380kbOK5
1756ms4432kbOK5
1880ms4400kbOK5
1988ms4580kbOK5
2056ms4684kbOK5
Punctaj total100

Ceva nu functioneaza?