Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2
- 808
- 2133
- 818
- 2222
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.math.BigInteger;
- public class Main{
- public static void print(String s){
- System.out.println(s);
- }
- public static void print(char c[]){
- System.out.println(c);
- }
- public static void main(String[] args) throws IOException{
- //try{
- BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
- String input;
- Integer n;
- String h;
- h=in.readLine();
- n=Integer.parseInt(h);
- for(Integer i=0;i<n;i++){
- input = in.readLine();
- char c[]=new char[input.length()];
- c=input.toCharArray();
- //If input is 9
- if(c[0]=='9'&&input.length()==1){
- print("11");
- }
- //If input is other than 9
- else{
- //If input length is even
- if(input.length()%2==0){
- for(int j=0,q=input.length()-1;j<(input.length()/2)&&q>=(input.length()/2);j++,q--){
- c[q]=c[j];
- }
- }
- //If input length is odd
- else{
- for(int j=0,q=input.length()-1;j<=Math.round((input.length()/2))-1&&q>=Math.round((input.length()/2))-1;j++,q--){
- c[q]=c[j];
- }
- }
- //Checking if new value is greater than old one
- BigInteger newval = new BigInteger(String.valueOf(c));
- BigInteger oldval = new BigInteger(input);
- if(newval.compareTo(oldval)==1){
- print(c);
- }
- else{
- //Length is even
- if(input.length()%2==0){
- Integer mid=(input.length()/2)-1;
- for(Integer even=mid;even>=0;even--){
- if(c[even]=='9'){
- c[even]=(char)48;
- if(even!=0)
- if(c[even-1]!='9'){
- c[even-1]=(char)(Character.getNumericValue(c[even-1])+49);
- break;
- }
- }
- else{
- c[even]=(char)(Character.getNumericValue(c[even])+49);
- break;
- }
- }
- for(int j=0,q=input.length()-1;j<(input.length()/2)&&q>=(input.length()/2);j++,q--){
- c[q]=c[j];
- }
- if(c[0]=='0'){
- c[input.length()-1]='1';
- System.out.print(1);
- }
- System.out.println(c);
- }
- else{
- Integer mid=input.length()/2;
- for(Integer even=mid;even>=0;even--){
- if(c[even]=='9'){
- c[even]=(char)48;
- if(even!=0)
- if(c[even-1]!='9'){
- c[even-1]=(char)(Character.getNumericValue(c[even-1])+49);
- break;
- }
- }
- else{
- c[even]=(char)(Character.getNumericValue(c[even])+49);
- break;
- }
- }
- for(int j=0,q=input.length()-1;j<=Math.round((input.length()/2))-1&&q>=Math.round((input.length()/2))-1;j++,q--){
- c[q]=c[j];
- }
- if(c[0]=='0'){
- c[input.length()-1]='1';
- System.out.print(1);
- }
- print(c);
- }
- }
- }
- }
- in.close();
- //}catch(Exception e){}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement