fork download
  1. You should use the statndard input/output
  2.  
  3. in order to receive a score properly.
  4.  
  5. Do not use file input and output
  6.  
  7. Please be very careful.
  8. */
  9.  
  10. import java.util.Scanner;
  11.  
  12. /*
  13.   As the name of the class should be Algorithm , using Algorithm.java as the filename is recommended.
  14.   In any case, you can execute your program by running 'java Algorithm' command.
  15.  */
  16. class Main {
  17. static int[] arr;
  18. static int[] aux;
  19. static int[] finalarr;
  20. public static void main(String[] args){
  21. Scanner sc=new Scanner(System.in);
  22. int T=sc.nextInt();
  23. for(int tc=0;tc<T;tc++){
  24. int n=sc.nextInt();
  25. arr=new int[n];
  26. aux=new int[n];
  27. finalarr=new int[n];
  28. int nblue=0;
  29. int nwhite=0;
  30. for(int i=0;i<arr.length;i++){
  31. arr[i]=sc.nextInt();
  32. if(arr[i]==0)
  33. nwhite++;
  34. else
  35. nblue++;
  36. }
  37. System.out.println("Case #"+(test_case+1));
  38. if(nblue==arr.length){
  39. System.out.println(-1);
  40. }
  41. else{
  42. if(checkpossible(0,nwhite,nblue)){
  43. //System.out.println("possible");
  44. for(int i=0;i<finalarr.length;i++){
  45. System.out.print(finalarr[i]+" ");
  46. }
  47. System.out.println();
  48. }
  49. else{
  50. System.out.println("-1");
  51. }
  52. }
  53. }
  54.  
  55. }
  56. public static boolean checkpossible(int index,int nwhite,int nblue){
  57. if(index==arr.length){
  58. return true;
  59. }
  60.  
  61. else if(nwhite==0){
  62. return false;
  63. }
  64. for(int i=0;i<arr.length;i++){
  65. int k=i+1;
  66. //int b=index+1;
  67. if(arr[i]==0){
  68. arr[i]=-1;
  69. nwhite--;
  70. if(i+1<arr.length && arr[i+1]!=-1){
  71. if(arr[i+1]==1){
  72. arr[i+1]=0;
  73. nwhite++;
  74. nblue--;
  75. }
  76. else if(arr[i+1]==0){
  77. arr[i+1]=1;
  78. nblue++;
  79. nwhite--;
  80. }
  81. }
  82. if(i-1>=0 && arr[i-1]!=-1){
  83. if(arr[i-1]==1){
  84. arr[i-1]=0;
  85. nwhite++;
  86. nblue--;
  87. }
  88. else if(arr[i-1]==0){
  89. arr[i-1]=1;
  90. nblue++;
  91. nwhite--;
  92. }
  93. }
  94. if(checkpossible(index+1,nwhite,nblue)){
  95. finalarr[index]=i+1;
  96. return true;
  97. }
  98. else{
  99. arr[i]=aux[i];
  100. nwhite++;
  101. if(i-1>=0 && arr[i-1]!=-1){
  102. if(aux[i-1]==1){
  103. arr[i-1]=1;
  104. nwhite--;
  105. nblue++;
  106. }
  107. else if(aux[i-1]==0){
  108. arr[i-1]=0;
  109. nblue--;
  110. nwhite++;
  111. }
  112. }
  113. if(i+1<arr.length && arr[i+1]!=-1){
  114. if(aux[i+1]==1){
  115. arr[i+1]=1;
  116. nwhite--;
  117. nblue++;
  118. }
  119. else if(aux[i+1]==0){
  120. arr[i+1]=0;
  121. nblue--;
  122. nwhite++;
  123. }
  124. }
  125. }
  126.  
  127. }
  128. }
  129. return false;
  130. }
  131.  
  132. }
  133.  
  134.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
3                               
10                                
0 1 1 0 0 1 0 1 0 1
13                                
1 1 1 0 0 0 1 0 1 0 1 1 1
5                                 
1 1 1 1 1 
compilation info
Main.java:1: error: class, interface, or enum expected
You should use the statndard input/output
^
1 error
stdout
Standard output is empty