Pagini recente » Borderou de evaluare (job #560148) | Borderou de evaluare (job #2006173) | Borderou de evaluare (job #2108140) | Borderou de evaluare (job #712) | Borderou de evaluare (job #2166131)
Borderou de evaluare (job #2166131)
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 |
1 | 4ms | 2852kb | OK | 5 |
2 | 4ms | 2740kb | OK | 5 |
3 | 4ms | 2936kb | OK | 5 |
4 | 4ms | 2776kb | OK | 5 |
5 | 4ms | 2928kb | OK | 5 |
6 | 8ms | 4292kb | OK | 5 |
7 | 12ms | 4584kb | OK | 5 |
8 | 12ms | 4700kb | OK | 5 |
9 | 4ms | 2904kb | OK | 5 |
10 | 24ms | 4392kb | OK | 5 |
11 | 4ms | 2960kb | OK | 5 |
12 | 16ms | 4580kb | OK | 5 |
13 | 4ms | 3304kb | OK | 5 |
14 | 8ms | 3228kb | OK | 5 |
15 | 4ms | 3292kb | OK | 5 |
16 | 56ms | 4380kb | OK | 5 |
17 | 56ms | 4432kb | OK | 5 |
18 | 80ms | 4400kb | OK | 5 |
19 | 88ms | 4580kb | OK | 5 |
20 | 56ms | 4684kb | OK | 5 |
Punctaj total | 100 |