#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 | #63589608 | Utilizator | |
| Fișier | minish.c | Dimensiune | 4.87 KB |
| Data încărcării | 10 Martie 2026, 16:21 | Scor/rezultat | Eroare de compilare |
minish.c:10:20: error: 'F' undeclared here (not in a function) typedef struct{O o[F];int c;U v;int r;}C; ^ minish.c:3:97: error: stray '#' in program #define V 26 #define M 64 ^ minish.c:11:12: note: in expansion of macro 'V' static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:3:98: error: expected ']' before 'define' #define V 26 #define M 64 ^ minish.c:11:12: note: in expansion of macro 'V' static U t[V],a0[P],b0[P],r0[P],ha[H],hb[H],ht[H],st=1; ^ minish.c:5:97: error: stray '#' in program #define H (1<<18) #define K (H-1) ^ minish.c:11: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:5:97: error: stray '#' in program #define H (1<<18) #define K (H-1) ^ minish.c:11: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:5:97: error: stray '#' in program #define H (1<<18) #define K (H-1) ^ minish.c:11: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:5:97: error: stray '#' in program #define H (1<<18) #define K (H-1) ^ minish.c:12:21: note: in expansion of macro 'H' static int c0[P],hi[H],si[P*2],ct; ^ minish.c:5:98: error: expected ']' before 'define' #define H (1<<18) #define K (H-1) ^ minish.c:12:21: note: in expansion of macro 'H' static int c0[P],hi[H],si[P*2],ct; ^ minish.c: In function 'gs': minish.c:15: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:15:82: note: each undeclared identifier is reported only once for each function it appears in minish.c:15: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:15: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:15: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:15: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:15: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:15: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:15:189: error: 'a0' 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:15:198: error: 'b0' 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:17: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:17: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:5:97: error: stray '#' in program #define H (1<<18) #define K (H-1) ^ minish.c:17:26: note: in expansion of macro 'H' ct=0;if(!++st){for(i=0;i<H;i++)ht[i]=0;st=1;} ^ minish.c:5:98: error: expected ';' before 'define' #define H (1<<18) #define K (H-1) ^ minish.c:17:26: note: in expansion of macro 'H' ct=0;if(!++st){for(i=0;i<H;i++)ht[i]=0;st=1;} ^ minish.c:17: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:19:1: error: 'si' undeclared (first use in this function) si[n]=z;sj[n++]=0; ^ minish.c:21:21: error: 'a0' undeclared (first use in this function) i=si[--n];h=sj[n];c=a0[i];d=b0[i]; ^ minish.c:21:29: error: 'b0' undeclared (first use in this function) i=si[--n];h=sj[n];c=a0[i];d=b0[i]; ^ minish.c:24:16: error: 'r0' undeclared (first use in this function) if(!c){c0[i]=0;r0[i]=d;m0[i]=3;d0[i]=1;continue;} ^ minish.c:25:170: warning: left-hand operand of comma expression has no effect [-Wunused-value] si[n]=i;sj[n++]=1; 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:26: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:27: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; ^ minish.c:30: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:31: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:32: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:35: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:35:21: warning: value computed is not used [-Wunused-value] minish.c: In function 'rh': minish.c:51: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:52: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:53: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:54: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 'in': minish.c:62: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:62: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:62: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 'iv': minish.c:3:97: error: stray '#' in program #define V 26 #define M 64 ^ minish.c:63:63: note: in expansion of macro 'V' static int iv(N*n,int*a,int*m,int s){int i,c=0,p=-1;for(i=0;i<V;i++)if(t[i]){n[c]=(N){t[i],i,-1,-1,0,0};if(i==s)p=c;a[c]=c;c++;}*m=c;return p;} ^ minish.c:3:98: error: expected ';' before 'define' #define V 26 #define M 64 ^ minish.c:63:63: note: in expansion of macro 'V' static int iv(N*n,int*a,int*m,int s){int i,c=0,p=-1;for(i=0;i<V;i++)if(t[i]){n[c]=(N){t[i],i,-1,-1,0,0};if(i==s)p=c;a[c]=c;c++;}*m=c;return p;} ^ minish.c:63:72: error: 't' undeclared (first use in this function) static int iv(N*n,int*a,int*m,int s){int i,c=0,p=-1;for(i=0;i<V;i++)if(t[i]){n[c]=(N){t[i],i,-1,-1,0,0};if(i==s)p=c;a[c]=c;c++;}*m=c;return p;} ^ minish.c: In function 'bu': minish.c:65:5: error: 'M' undeclared (first use in this function) N n[M];O b[B];int a[M],m,p=iv(n,a,&m,s),w=0,d=m,i,j,x,y,z,k,u;U q,h,v; ^ minish.c:4:97: error: stray '#' in program #define B 200000 #define F 200000 #define S 8 ^ minish.c:65:12: note: in expansion of macro 'B' N n[M];O b[B];int a[M],m,p=iv(n,a,&m,s),w=0,d=m,i,j,x,y,z,k,u;U q,h,v; ^ minish.c:4:98: error: expected ']' before 'define' #define B 200000 #define F 200000 #define S 8 ^ minish.c:65:12: note: in expansion of macro 'B' N n[M];O b[B];int a[M],m,p=iv(n,a,&m,s),w=0,d=m,i,j,x,y,z,k,u;U q,h,v; ^ minish.c:4:193: error: stray '#' in program #define B 200000 #define F 200000 #define S 8 ^ minish.c:65:12: note: in expansion of macro 'B' N n[M];O b[B];int a[M],m,p=iv(n,a,&m,s),w=0,d=m,i,j,x,y,z,k,u;U q,h,v; ^ minish.c:66:19: warning: suggest parentheses around '&&' within '||' [-Wparentheses] c->c=0;if(!m||s>=0&&p<0)return 0; ^ minish.c:70:7: error: 'S' undeclared (first use in this function) int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:72: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:72: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:72: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:72:102: warning: value computed is not used [-Wunused-value] minish.c:70:26: warning: unused variable 'R' [-Wunused-variable] int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:70:15: warning: unused variable 'E' [-Wunused-variable] int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:70:10: warning: unused variable 'D' [-Wunused-variable] int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:70:5: warning: unused variable 'A' [-Wunused-variable] int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:74: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:74: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:76: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:76: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:80:36: error: 'b' undeclared (first use in this function) u=e?rx(n[i].v,n[j].v,n[i].p,n[j].p,b+w,&k,&v):rh(n[i].v,n[j].v,n[i].p,n[j].p,b+w,&k,&v); ^ minish.c:65:19: warning: unused variable 'a' [-Wunused-variable] N n[M];O b[B];int a[M],m,p=iv(n,a,&m,s),w=0,d=m,i,j,x,y,z,k,u;U q,h,v; ^ minish.c:65:3: warning: unused variable 'n' [-Wunused-variable] N n[M];O b[B];int a[M],m,p=iv(n,a,&m,s),w=0,d=m,i,j,x,y,z,k,u;U q,h,v; ^ minish.c: In function 'main': minish.c:3:97: error: stray '#' in program #define V 26 #define M 64 ^ minish.c:89:11: note: in expansion of macro 'V' for(i=0;i<V;i++)scanf("%u",t+i),c+=!!t[i]; ^ minish.c:3:98: error: expected ';' before 'define' #define V 26 #define M 64 ^ minish.c:89:11: note: in expansion of macro 'V' for(i=0;i<V;i++)scanf("%u",t+i),c+=!!t[i]; ^ minish.c:89:28: error: 't' undeclared (first use in this function) for(i=0;i<V;i++)scanf("%u",t+i),c+=!!t[i]; ^ minish.c:89:32: warning: left-hand operand of comma expression has no effect [-Wunused-value] for(i=0;i<V;i++)scanf("%u",t+i),c+=!!t[i]; ^ minish.c:3:97: error: stray '#' in program #define V 26 #define M 64 ^ minish.c:92:11: note: in expansion of macro 'V' for(i=0;i<V;i++)if(t[i]&&bu(&a,i,0)&&(!f||a.c<b.c))b=a,f=1; ^ minish.c:3:98: error: expected ';' before 'define' #define V 26 #define M 64 ^ minish.c:92:11: note: in expansion of macro 'V' for(i=0;i<V;i++)if(t[i]&&bu(&a,i,0)&&(!f||a.c<b.c))b=a,f=1; ^ minish.c:88: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:88: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); ^
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ă.