#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 | #63589285 | Utilizator | |
| Fișier | minish.c | Dimensiune | 4.80 KB |
| Data încărcării | 10 Martie 2026, 16:07 | Scor/rezultat | Eroare de compilare |
minish.c:14:36: error: 'H' 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: In function 'rx': minish.c:34:47: warning: suggest parentheses around '&&' within '||' [-Wparentheses] 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:35:47: warning: suggest parentheses around '&&' within '||' [-Wparentheses] 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:36:35: warning: suggest parentheses around '&&' within '||' [-Wparentheses] 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: 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 'in': minish.c:7:97: error: stray '#' in program #define S 8 #define H (1<<18) ^ minish.c:63:81: note: in expansion of macro 'S' 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:7:98: error: expected ')' before 'define' #define S 8 #define H (1<<18) ^ minish.c:63:81: note: in expansion of macro 'S' 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:7:97: error: stray '#' in program #define S 8 #define H (1<<18) ^ minish.c:71:7: note: in expansion of macro 'S' int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:7:98: error: expected ']' before 'define' #define S 8 #define H (1<<18) ^ minish.c:71:7: note: in expansion of macro 'S' int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:7:97: error: stray '#' in program #define S 8 #define H (1<<18) ^ minish.c:71:12: note: in expansion of macro 'S' int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:7:97: error: stray '#' in program #define S 8 #define H (1<<18) ^ minish.c:71:17: note: in expansion of macro 'S' int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:7:97: error: stray '#' in program #define S 8 #define H (1<<18) ^ minish.c:71:28: note: in expansion of macro 'S' int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:7:98: error: expected ']' before 'define' #define S 8 #define H (1<<18) ^ minish.c:71:28: note: in expansion of macro 'S' int A[S],D[S],E[S],l=0;U R[S]; ^ minish.c:72:39: error: 'l' undeclared (first use in this function) for(i=0;i<m;i++)for(j=i+1;j<m;j++)in(&l,A,D,E,R,i,j,rh(n[a[i]].v,n[a[j]].v,0,1,0,&k,&v),v); ^ minish.c:72:39: note: each undeclared identifier is reported only once for each function it appears in minish.c:72:41: error: 'A' undeclared (first use in this function) for(i=0;i<m;i++)for(j=i+1;j<m;j++)in(&l,A,D,E,R,i,j,rh(n[a[i]].v,n[a[j]].v,0,1,0,&k,&v),v); ^ minish.c:72:43: error: 'D' undeclared (first use in this function) for(i=0;i<m;i++)for(j=i+1;j<m;j++)in(&l,A,D,E,R,i,j,rh(n[a[i]].v,n[a[j]].v,0,1,0,&k,&v),v); ^ minish.c:72:45: error: 'E' undeclared (first use in this function) for(i=0;i<m;i++)for(j=i+1;j<m;j++)in(&l,A,D,E,R,i,j,rh(n[a[i]].v,n[a[j]].v,0,1,0,&k,&v),v); ^ minish.c:72:47: error: 'R' undeclared (first use in this function) for(i=0;i<m;i++)for(j=i+1;j<m;j++)in(&l,A,D,E,R,i,j,rh(n[a[i]].v,n[a[j]].v,0,1,0,&k,&v),v); ^ 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: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: At top level: minish.c:14:33: warning: 'ha' 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:14:39: warning: 'hb' 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:14:45: warning: 'ht' 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:15:18: warning: 'hi' defined but not used [-Wunused-variable] static int c0[P],hi[H],si[P*2],ct; ^ 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]; ^
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ă.