//又到了写代码的季节了。 //是我,是我先,明明都是我先来的,读题也好,写题也好,还是提交题目也好... /*为什么会变成这样呢……第一次有了完美的代码。有了能用一辈子的算法。两件快乐事情 重合在一起。而这两份快乐,又给我带来更多的快乐。得到的,本该是像梦境一般幸福的时 间……但是,为什么,会变成这样呢……*/ //队友里有女生什么的,已经无所谓了。 #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { int nn,n,i,mark,c4,c7; char c[10005]; scanf("%d",&nn); getchar(); while(nn--) { gets(c); i=0; c4=c7=0; mark=strlen(c)-1; if(strlen(c)%2==1) { for(i=0;i<=strlen(c)/2;i++) printf("4"); for(i=0;i<=strlen(c)/2;i++) printf("7"); printf("\n"); } else { while(istrlen(c)/2) { c[i]='7'; c4--;c7++; mark=i; break; } i++; } else if(c[i]=='7') { c7++; if(c7>strlen(c)/2) { if(c4==0) {mark=-1; break;} else while(i>=0) { if(c[i]=='7') {i--; c7--;} else if(c[i]=='4') {c[i]='7'; c7++; c4--; mark=i; break;} } if(mark==i) break; } i++; } else if(c[i]>'7') { if(c4==0) {mark=-1; break;} else while(i>=0) { if(c[i]=='7') {c7--;} else if(c[i]=='4') {c[i]='7'; c7++; c4--; mark=i; break;} i--; } if(mark==i) break; } else if(c[i]>'4') { c[i]='7'; c7++; if(c7>strlen(c)/2) { if(c4==0) {mark=-1; break;} else while(i>=0) { if(c[i]=='7') {i--; c7--;} else if(c[i]=='4') {c[i]='7'; c7++; c4--; mark=i; break;} } if(mark==i) break; } mark=i; break; } else {c[i]='4'; c4++; if(c4>strlen(c)/2) { c[i]='7'; c4--;c7++; mark=i; break; } mark=i; break; } } if(mark==-1) { for(i=0;i<=strlen(c)/2;i++) printf("4"); for(i=0;i<=strlen(c)/2;i++) printf("7"); printf("\n"); } else { for(i=0;i<=mark;i++) printf("%c",c[i]); for(;i