1 solutions
-
0
C :
#include<stdio.h> #include<string.h> char s[10001]; int main() { int i,len,hl,f; while(scanf("%s",s)!=EOF) { len=strlen(s)-1; hl=(len+1)>>1; for(i=hl-1,f=0;i>=0&&!f;i--) f=s[i]==s[len-i]?0:(s[i]>s[len-i]?1:-1); if(f<=0) { s[len>>1]++; for(i=len>>1;i&&s[i]>'9';i--) { s[i]='0'; s[i-1]++; } if(s[0]>'9') { s[0]='1'; len++; hl=(len+1)>>1; s[hl]='0'; } } for(i=0;i<hl;i++) putchar(s[i]); for(i=hl-(len&1);i>=0;i--) putchar(s[i]); putchar(10); } return 0; }
C++ :
#include<stdio.h> #include<string.h> char s[10001]; int main() { int i,len,hl,f; while(scanf("%s",s)!=EOF) { len=strlen(s)-1; hl=(len+1)>>1; for(i=hl-1,f=0;i>=0&&!f;i--) f=s[i]==s[len-i]?0:(s[i]>s[len-i]?1:-1); if(f<=0) { s[len>>1]++; for(i=len>>1;i&&s[i]>'9';i--) { s[i]='0'; s[i-1]++; } if(s[0]>'9') { s[0]='1'; len++; hl=(len+1)>>1; s[hl]='0'; } } for(i=0;i<hl;i++) putchar(s[i]); for(i=hl-(len&1);i>=0;i--) putchar(s[i]); putchar(10); } return 0; }
Pascal :
program p1057; var a:array[0..10000] of integer; n,i,j,k,len,h1,bj:longint; ch:char; function pd:boolean; var i:longint; begin pd:=true; for i:=1 to n do if a[i]<>9 then exit(false); end; function check(hh:longint):longint; var i:longint; begin check:=0; len:=0; for i:=hh to h1 do if a[i]>a[n-i+1] then begin check:=-1; len:=i; exit; end else if a[i]<a[n-i+1] then begin check:=1;len:=i; exit; end; end; procedure out; var i:longint; begin if a[0]=0 then for i:=1 to n-1 do write(a[i]) else for i:=0 to n-1 do write(a[i]); writeln(a[n]); end; begin while not eof do begin n:=0; a[0]:=0; while not eoln do begin n:=n+1; read(ch); a[n]:=ord(ch)-ord('0'); end; readln; h1:=n div 2; if check(1)=0 then if pd then begin a[n]:=a[n]+2; j:=n; while a[j]>9 do begin a[j]:=a[j]-10; a[j-1]:=a[j-1]+1; j:=j-1; end; out; continue; end else begin a[n]:=a[n]+1; j:=n; while a[j]>9 do begin a[j]:=a[j]-10; a[j-1]:=a[j-1]+1; j:=j-1; end; end; i:=1; bj:=check(i); while bj<>0 do begin if bj<0 then a[n-len+1]:=a[len] else if bj>0 then begin a[n-len+1]:=a[len]; a[n-len]:=a[n-len]+1; j:=n-len; while a[j]>9 do begin a[j]:=a[j]-10; a[j-1]:=a[j-1]+1; j:=j-1; end; end; bj:=check(len) end; out; end; end.
Python :
import sys for line in sys.stdin: K = line.split()[0] l = len(K) if l==1: if K[0]<'9': print str(int(K[0])+1) else: print '11' else: P=list(K) rng=l>>1 if l%2==1: rng+=1 for i in range(rng): P[l-i-1]=K[i] if cmp(''.join(P),K)<=0: i=l>>1 while i<l: n=int(P[i])+1 if n>9: P[i]='0' i+=1 else: P[i]=str(n) break; if i==l: P.append('1') K=[] l=len(P) rng=l>>1 for i in range(rng): K.append(P[l-i-1]) for i in range(rng,l): K.append(P[i]) print ''.join(K) else: print ''.join(P)
- 1
Information
- ID
- 791
- Time
- 1000ms
- Memory
- 32MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By