Pagini recente » Borderou de evaluare (job #1567259) | Cod sursa (job #2337618) | Cod sursa (job #1021933) | Cod sursa (job #2477093) | Cod sursa (job #1679581)
#include<cstdio>
int n,m,i,j,s,nr,v[1010],x[1010],y[1010];
FILE *f,*g;
int main(){
f=fopen("razboi2.in","r");
g=fopen("razboi2.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++){
fscanf(f,"%d",&v[i]);
}
m = n;
while(m){
nr = 0;
for(i=1;i<=1000;i++){
x[i] = y[i] = 0;
}
for(i=1;i<=m;i++){
x[i] = ( x[ i - 1 ] + v[i] ) % m;
if( x[i] == 0 ){
for(j=1;j<=i;j++){
fprintf(g,"%d ",v[j]);
}
fprintf(g,"\n");
for(j=i+1;j<=m;j++){
v[++nr] = v[j];
}
break;
}
if( y[ x[i] ] ){
for(j=y[ x[i] ]+1;j<=i;j++){
fprintf(g,"%d ",v[j]);
}
for(j=1;j<=m;j++){
if( j <= y[ x[i] ] || j > i )
v[++nr] = v[j];
}
fprintf(g,"\n");
break;
}
y[ x[i] ] = i;
}
m = nr;
}
fclose(f);
fclose(g);
return 0;
}