#4839
Se dă un vector val[a], …, val[z]. Să se construiască un program minishell care folosește cât mai puține atribuiri constante și care, prin rularea sa, face ca variabilele a, …, z să conțină valorile val[a], …, val[z].
ONI 2025, clasa a 10-a
| Problema | minish | Operații I/O |
minish.in/minish.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 512 MB
/
Stivă 64 MB
|
| Id soluție | #63589300 | Utilizator | |
| Fișier | minish.c | Dimensiune | 4.73 KB |
| Data încărcării | 10 Martie 2026, 16:08 | Scor/rezultat | Eroare de compilare |
minish.c:6:97: error: stray '#' in program #define F 200000 #define S 8 ^ minish.c:11:20: note: in expansion of macro 'F' typedef struct{O o[F];int c;U v;int r;}C; ^ minish.c:6:98: error: expected ']' before 'define' #define F 200000 #define S 8 ^ minish.c:11:20: note: in expansion of macro 'F' typedef struct{O o[F];int c;U v;int r;}C; ^ minish.c:12:18: error: 'P' undeclared here (not in a function) static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:7:97: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:12:36: note: in expansion of macro 'H' static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:7:98: error: expected ']' before 'define' #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:12:36: note: in expansion of macro 'H' static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:7:193: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:12:36: note: in expansion of macro 'H' static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:7:97: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:12:42: note: in expansion of macro 'H' static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:7:193: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:12:42: note: in expansion of macro 'H' static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:7:97: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:12:48: note: in expansion of macro 'H' static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:7:193: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:12:48: note: in expansion of macro 'H' static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:7:97: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:13:21: note: in expansion of macro 'H' static int c0[P],hi[H],si[P*2],ct; ^ minish.c:7:98: error: expected ']' before 'define' #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:13:21: note: in expansion of macro 'H' static int c0[P],hi[H],si[P*2],ct; ^ minish.c:7:193: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:13:21: note: in expansion of macro 'H' static int c0[P],hi[H],si[P*2],ct; ^ minish.c: In function 'gs': minish.c:17:82: error: 'K' undeclared (first use in this function) static int gs(U a,U b){U c,p;if(a>b)c=a,a=b,b=c;for(p=(a*1000003u+b*9176u+12345)&K;ht[p]==st;p=p+1&K)if(ha[p]==a&&hb[p]==b)return hi[p];if(ct>=P)return-1;ht[p]=st;ha[p]=a;hb[p]=b;hi[p]=ct;a0[ct]=a;b0[ct]=b;d0[ct]=0;return ct++;} ^ minish.c:17:82: note: each undeclared identifier is reported only once for each function it appears in minish.c:17:84: error: 'ht' undeclared (first use in this function) static int gs(U a,U b){U c,p;if(a>b)c=a,a=b,b=c;for(p=(a*1000003u+b*9176u+12345)&K;ht[p]==st;p=p+1&K)if(ha[p]==a&&hb[p]==b)return hi[p];if(ct>=P)return-1;ht[p]=st;ha[p]=a;hb[p]=b;hi[p]=ct;a0[ct]=a;b0[ct]=b;d0[ct]=0;return ct++;} ^ minish.c:17:91: error: 'st' undeclared (first use in this function) static int gs(U a,U b){U c,p;if(a>b)c=a,a=b,b=c;for(p=(a*1000003u+b*9176u+12345)&K;ht[p]==st;p=p+1&K)if(ha[p]==a&&hb[p]==b)return hi[p];if(ct>=P)return-1;ht[p]=st;ha[p]=a;hb[p]=b;hi[p]=ct;a0[ct]=a;b0[ct]=b;d0[ct]=0;return ct++;} ^ minish.c:17:105: error: 'ha' undeclared (first use in this function) static int gs(U a,U b){U c,p;if(a>b)c=a,a=b,b=c;for(p=(a*1000003u+b*9176u+12345)&K;ht[p]==st;p=p+1&K)if(ha[p]==a&&hb[p]==b)return hi[p];if(ct>=P)return-1;ht[p]=st;ha[p]=a;hb[p]=b;hi[p]=ct;a0[ct]=a;b0[ct]=b;d0[ct]=0;return ct++;} ^ minish.c:17:115: error: 'hb' undeclared (first use in this function) static int gs(U a,U b){U c,p;if(a>b)c=a,a=b,b=c;for(p=(a*1000003u+b*9176u+12345)&K;ht[p]==st;p=p+1&K)if(ha[p]==a&&hb[p]==b)return hi[p];if(ct>=P)return-1;ht[p]=st;ha[p]=a;hb[p]=b;hi[p]=ct;a0[ct]=a;b0[ct]=b;d0[ct]=0;return ct++;} ^ minish.c:17:131: error: 'hi' undeclared (first use in this function) static int gs(U a,U b){U c,p;if(a>b)c=a,a=b,b=c;for(p=(a*1000003u+b*9176u+12345)&K;ht[p]==st;p=p+1&K)if(ha[p]==a&&hb[p]==b)return hi[p];if(ct>=P)return-1;ht[p]=st;ha[p]=a;hb[p]=b;hi[p]=ct;a0[ct]=a;b0[ct]=b;d0[ct]=0;return ct++;} ^ minish.c:17:140: error: 'ct' undeclared (first use in this function) static int gs(U a,U b){U c,p;if(a>b)c=a,a=b,b=c;for(p=(a*1000003u+b*9176u+12345)&K;ht[p]==st;p=p+1&K)if(ha[p]==a&&hb[p]==b)return hi[p];if(ct>=P)return-1;ht[p]=st;ha[p]=a;hb[p]=b;hi[p]=ct;a0[ct]=a;b0[ct]=b;d0[ct]=0;return ct++;} ^ minish.c: In function 'rx': minish.c:19:1: error: 'ct' undeclared (first use in this function) ct=0;if(!++st){for(i=0;i<H;i++)ht[i]=0;st=1;} ^ minish.c:19:12: error: 'st' undeclared (first use in this function) ct=0;if(!++st){for(i=0;i<H;i++)ht[i]=0;st=1;} ^ minish.c:7:97: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:19:26: note: in expansion of macro 'H' ct=0;if(!++st){for(i=0;i<H;i++)ht[i]=0;st=1;} ^ minish.c:7:98: error: expected ';' before 'define' #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:19:26: note: in expansion of macro 'H' ct=0;if(!++st){for(i=0;i<H;i++)ht[i]=0;st=1;} ^ minish.c:7:193: error: stray '#' in program #define H (1<<18) #define K (H-1) #define P 50000 ^ minish.c:19:26: note: in expansion of macro 'H' ct=0;if(!++st){for(i=0;i<H;i++)ht[i]=0;st=1;} ^ minish.c:19:32: error: 'ht' undeclared (first use in this function) ct=0;if(!++st){for(i=0;i<H;i++)ht[i]=0;st=1;} ^ minish.c:20:97: error: 'si' undeclared (first use in this function) if((z=gs(a,b))<0)return rh(a,b,x,y,o,r,v); si[n]=z;sj[n++]=0; ^ minish.c:27:74: warning: left-hand operand of comma expression has no effect [-Wunused-value] if(!(c&1)){if((u=gs(c>>1,d))<0)return rh(a,b,x,y,o,r,v);if(!d0[u])si[n]=u,sj[n++]=0;} ^ minish.c:28:74: warning: left-hand operand of comma expression has no effect [-Wunused-value] if(!(d&1)){if((u=gs(c,d>>1))<0)return rh(a,b,x,y,o,r,v);if(!d0[u])si[n]=u,sj[n++]=0;} ^ minish.c:29:62: warning: left-hand operand of comma expression has no effect [-Wunused-value] if((u=gs(c,d-c))<0)return rh(a,b,x,y,o,r,v);if(!d0[u])si[n]=u,sj[n++]=0; }else{ ^ minish.c:31:68: warning: left-hand operand of comma expression has no effect [-Wunused-value] if(!(c&1)){u=gs(c>>1,d);if((h=1+c0[u])<k||h==k&&r0[u]>q)k=h,q=r0[u],m0[i]=0;} ^ minish.c:32:68: warning: left-hand operand of comma expression has no effect [-Wunused-value] if(!(d&1)){u=gs(c,d>>1);if((h=1+c0[u])<k||h==k&&r0[u]>q)k=h,q=r0[u],m0[i]=1;} ^ minish.c:33:56: warning: left-hand operand of comma expression has no effect [-Wunused-value] u=gs(c,d-c);if((h=1+c0[u])<k||h==k&&r0[u]>q)k=h,q=r0[u],m0[i]=2; ^ minish.c:36:21: warning: left-hand operand of comma expression has no effect [-Wunused-value] if(!o)return*v=r0[z],*r=x,c0[z]; ^ minish.c:36:21: warning: value computed is not used [-Wunused-value] minish.c: In function 'rh': minish.c:52:51: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(!(a&1)){k=Q(a>>1,b);s=(a>>1)+b;if(!f||k<f||k==f&&s<u)f=k,u=s,c=a>>1,d=b,z=(O){x,x,1};} ^ minish.c:53:51: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(!(b&1)){k=Q(a,b>>1);s=a+(b>>1);if(!f||k<f||k==f&&s<u)f=k,u=s,c=a,d=b>>1,z=(O){y,y,1};} ^ minish.c:54:41: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(a>=b){k=Q(a-b,b);s=a;if(!f||k<f||k==f&&s<u)f=k,u=s,c=a-b,d=b,z=(O){x,y,0};} ^ minish.c:55:37: warning: suggest parentheses around '&&' within '||' [-Wparentheses] else{k=Q(a,b-a);s=b;if(!f||k<f||k==f&&s<u)f=k,u=s,c=a,d=b-a,z=(O){y,x,0};} ^ minish.c: In function 'em': minish.c:62:97: error: 'C' has no member named 'o' static void em(int i,N*n,O*b,C*c){int j;if(n[i].l<0)return;for(j=n[i].b+n[i].c-1;j>=n[i].b;j--)c->o[c->c++]=b[j];em(n[i].l,n,b,c);em(n[i].r,n,b,c);} ^ minish.c: In function 'in': minish.c:63:81: error: 'S' undeclared (first use in this function) static void in(int*n,int*a,int*b,int*c,U*d,int i,int j,int k,U u){int p,q;if(*n<S)p=(*n)++;else{for(p=1,q=0;p<*n;p++)if(c[p]>c[q]||c[p]==c[q]&&d[p]<d[q])q=p;if(k>c[q]||k==c[q]&&u<=d[q])return;p=q;}a[p]=i;b[p]=j;c[p]=k;d[p]=u;} ^ minish.c:63:142: warning: suggest parentheses around '&&' within '||' [-Wparentheses] static void in(int*n,int*a,int*b,int*c,U*d,int i,int j,int k,U u){int p,q;if(*n<S)p=(*n)++;else{for(p=1,q=0;p<*n;p++)if(c[p]>c[q]||c[p]==c[q]&&d[p]<d[q])q=p;if(k>c[q]||k==c[q]&&u<=d[q])return;p=q;}a[p]=i;b[p]=j;c[p]=k;d[p]=u;} ^ minish.c:63:176: warning: suggest parentheses around '&&' within '||' [-Wparentheses] static void in(int*n,int*a,int*b,int*c,U*d,int i,int j,int k,U u){int p,q;if(*n<S)p=(*n)++;else{for(p=1,q=0;p<*n;p++)if(c[p]>c[q]||c[p]==c[q]&&d[p]<d[q])q=p;if(k>c[q]||k==c[q]&&u<=d[q])return;p=q;}a[p]=i;b[p]=j;c[p]=k;d[p]=u;} ^ minish.c: In function 'bu': minish.c:67:19: warning: suggest parentheses around '&&' within '||' [-Wparentheses] c->c=0;if(!m||s>=0&&p<0)return 0; ^ minish.c:71:7: error: 'S' undeclared (first use in this function) int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:73:83: warning: suggest parentheses around '&&' within '||' [-Wparentheses] for(i=0;i<l;i++){int f=rx(n[a[A[i]]].v,n[a[D[i]]].v,0,1,0,&k,&v);if(x<0||f<z||f==z&&v>h)x=A[i],y=D[i],z=f,h=v;} ^ minish.c:73:95: warning: left-hand operand of comma expression has no effect [-Wunused-value] for(i=0;i<l;i++){int f=rx(n[a[A[i]]].v,n[a[D[i]]].v,0,1,0,&k,&v);if(x<0||f<z||f==z&&v>h)x=A[i],y=D[i],z=f,h=v;} ^ minish.c:73:102: warning: left-hand operand of comma expression has no effect [-Wunused-value] for(i=0;i<l;i++){int f=rx(n[a[A[i]]].v,n[a[D[i]]].v,0,1,0,&k,&v);if(x<0||f<z||f==z&&v>h)x=A[i],y=D[i],z=f,h=v;} ^ minish.c:73:102: warning: value computed is not used [-Wunused-value] minish.c:71:26: warning: unused variable 'R' [-Wunused-variable] int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:71:15: warning: unused variable 'E' [-Wunused-variable] int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:71:10: warning: unused variable 'D' [-Wunused-variable] int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:71:5: warning: unused variable 'A' [-Wunused-variable] int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:75:122: warning: suggest parentheses around '&&' within '||' [-Wparentheses] for(i=0;i<m;i++)for(j=i+1;j<m;j++){int f=rh(n[a[i]].v,n[a[j]].v,0,1,0,&k,&v);U G=g(n[a[i]].v,n[a[j]].v);if(x<0||f<z||f==z&&G>q||f==z&&G==q&&v<h)x=i,y=j,z=f,q=G,h=v;} ^ minish.c:75:139: warning: suggest parentheses around '&&' within '||' [-Wparentheses] for(i=0;i<m;i++)for(j=i+1;j<m;j++){int f=rh(n[a[i]].v,n[a[j]].v,0,1,0,&k,&v);U G=g(n[a[i]].v,n[a[j]].v);if(x<0||f<z||f==z&&G>q||f==z&&G==q&&v<h)x=i,y=j,z=f,q=G,h=v;} ^ minish.c:77:112: warning: suggest parentheses around '&&' within '||' [-Wparentheses] for(i=0;i<m;i++)if(i!=p){int f=rh(n[a[p]].v,n[a[i]].v,0,1,0,&k,&v);U G=g(n[a[p]].v,n[a[i]].v);if(y<0||f<z||f==z&&G>q||f==z&&G==q&&v<h)y=i,z=f,q=G,h=v;} ^ minish.c:77:129: warning: suggest parentheses around '&&' within '||' [-Wparentheses] for(i=0;i<m;i++)if(i!=p){int f=rh(n[a[p]].v,n[a[i]].v,0,1,0,&k,&v);U G=g(n[a[p]].v,n[a[i]].v);if(y<0||f<z||f==z&&G>q||f==z&&G==q&&v<h)y=i,z=f,q=G,h=v;} ^ minish.c: In function 'wr': minish.c:86:99: error: 'C' has no member named 'o' static void wr(C*c){int i;printf("%c=%u\n",97+c->r,c->v);for(i=0;i<c->c;i++)printf("%c+=%c\n",97+c->o[i].x,97+(c->o[i].s?c->o[i].x:c->o[i].y));} ^ minish.c:86:113: error: 'C' has no member named 'o' static void wr(C*c){int i;printf("%c=%u\n",97+c->r,c->v);for(i=0;i<c->c;i++)printf("%c+=%c\n",97+c->o[i].x,97+(c->o[i].s?c->o[i].x:c->o[i].y));} ^ minish.c:86:123: error: 'C' has no member named 'o' static void wr(C*c){int i;printf("%c=%u\n",97+c->r,c->v);for(i=0;i<c->c;i++)printf("%c+=%c\n",97+c->o[i].x,97+(c->o[i].s?c->o[i].x:c->o[i].y));} ^ minish.c:86:133: error: 'C' has no member named 'o' static void wr(C*c){int i;printf("%c=%u\n",97+c->r,c->v);for(i=0;i<c->c;i++)printf("%c+=%c\n",97+c->o[i].x,97+(c->o[i].s?c->o[i].x:c->o[i].y));} ^ minish.c: At top level: minish.c:12:15: warning: 'a0' defined but not used [-Wunused-variable] static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:12:21: warning: 'b0' defined but not used [-Wunused-variable] static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:12:27: warning: 'r0' defined but not used [-Wunused-variable] static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:13:12: warning: 'c0' defined but not used [-Wunused-variable] static int c0[P],hi[H],si[P*2],ct; ^ minish.c:14:10: warning: 'm0' defined but not used [-Wunused-variable] static Y m0[P],d0[P],sj[P*2]; ^ minish.c:14:16: warning: 'd0' defined but not used [-Wunused-variable] static Y m0[P],d0[P],sj[P*2]; ^ minish.c:14:22: warning: 'sj' defined but not used [-Wunused-variable] static Y m0[P],d0[P],sj[P*2]; ^ minish.c: In function 'main': minish.c:89:8: warning: ignoring return value of 'freopen', declared with attribute warn_unused_result [-Wunused-result] freopen("minish.in","r",stdin);freopen("minish.out","w",stdout); ^ minish.c:89:39: warning: ignoring return value of 'freopen', declared with attribute warn_unused_result [-Wunused-result] freopen("minish.in","r",stdin);freopen("minish.out","w",stdout); ^ minish.c:90:22: warning: ignoring return value of 'scanf', declared with attribute warn_unused_result [-Wunused-result] for(i=0;i<V;i++)scanf("%u",t+i),c+=!!t[i]; ^ minish.c: In function 'gs': minish.c:17:1: warning: control reaches end of non-void function [-Wreturn-type] static int gs(U a,U b){U c,p;if(a>b)c=a,a=b,b=c;for(p=(a*1000003u+b*9176u+12345)&K;ht[p]==st;p=p+1&K)if(ha[p]==a&&hb[p]==b)return hi[p];if(ct>=P)return-1;ht[p]=st;ha[p]=a;hb[p]=b;hi[p]=ct;a0[ct]=a;b0[ct]=b;d0[ct]=0;return ct++;} ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema minish face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.