Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.36 KB | None | 0 0
  1. 2
  2. 808
  3. 2133
  4.  
  5. 818
  6. 2222
  7.  
  8. import java.io.BufferedReader;
  9. import java.io.IOException;
  10. import java.io.InputStreamReader;
  11. import java.math.BigInteger;
  12. public class Main{
  13. public static void print(String s){
  14. System.out.println(s);
  15. }
  16. public static void print(char c[]){
  17. System.out.println(c);
  18. }
  19. public static void main(String[] args) throws IOException{
  20. //try{
  21. BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
  22. String input;
  23. Integer n;
  24. String h;
  25. h=in.readLine();
  26. n=Integer.parseInt(h);
  27. for(Integer i=0;i<n;i++){
  28. input = in.readLine();
  29. char c[]=new char[input.length()];
  30. c=input.toCharArray();
  31. //If input is 9
  32. if(c[0]=='9'&&input.length()==1){
  33. print("11");
  34. }
  35. //If input is other than 9
  36. else{
  37. //If input length is even
  38. if(input.length()%2==0){
  39. for(int j=0,q=input.length()-1;j<(input.length()/2)&&q>=(input.length()/2);j++,q--){
  40. c[q]=c[j];
  41. }
  42. }
  43. //If input length is odd
  44. else{
  45. for(int j=0,q=input.length()-1;j<=Math.round((input.length()/2))-1&&q>=Math.round((input.length()/2))-1;j++,q--){
  46. c[q]=c[j];
  47. }
  48. }
  49. //Checking if new value is greater than old one
  50. BigInteger newval = new BigInteger(String.valueOf(c));
  51. BigInteger oldval = new BigInteger(input);
  52. if(newval.compareTo(oldval)==1){
  53. print(c);
  54. }
  55. else{
  56. //Length is even
  57. if(input.length()%2==0){
  58. Integer mid=(input.length()/2)-1;
  59. for(Integer even=mid;even>=0;even--){
  60. if(c[even]=='9'){
  61. c[even]=(char)48;
  62. if(even!=0)
  63. if(c[even-1]!='9'){
  64. c[even-1]=(char)(Character.getNumericValue(c[even-1])+49);
  65. break;
  66. }
  67. }
  68. else{
  69. c[even]=(char)(Character.getNumericValue(c[even])+49);
  70. break;
  71. }
  72. }
  73. for(int j=0,q=input.length()-1;j<(input.length()/2)&&q>=(input.length()/2);j++,q--){
  74. c[q]=c[j];
  75. }
  76. if(c[0]=='0'){
  77. c[input.length()-1]='1';
  78. System.out.print(1);
  79. }
  80. System.out.println(c);
  81. }
  82. else{
  83. Integer mid=input.length()/2;
  84. for(Integer even=mid;even>=0;even--){
  85. if(c[even]=='9'){
  86. c[even]=(char)48;
  87. if(even!=0)
  88. if(c[even-1]!='9'){
  89. c[even-1]=(char)(Character.getNumericValue(c[even-1])+49);
  90. break;
  91. }
  92. }
  93. else{
  94. c[even]=(char)(Character.getNumericValue(c[even])+49);
  95. break;
  96. }
  97. }
  98. for(int j=0,q=input.length()-1;j<=Math.round((input.length()/2))-1&&q>=Math.round((input.length()/2))-1;j++,q--){
  99. c[q]=c[j];
  100. }
  101. if(c[0]=='0'){
  102. c[input.length()-1]='1';
  103. System.out.print(1);
  104. }
  105. print(c);
  106. }
  107. }
  108. }
  109. }
  110. in.close();
  111. //}catch(Exception e){}
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement