Untitled
unknown
plain_text
2 years ago
1.1 kB
6
Indexable
package TietKiemDien; import java.util.Scanner; public class test { static int N,K; static int[] TrangThai=new int[101]; static int ans=0; static int SobongTat(){ int sum=0; for(int i=1;i<=N;i++){ if(TrangThai[i]==0){ sum++; } } return sum; } static void backtrack(int k){ if(SobongTat()>ans){ ans=SobongTat(); } if(k==3){ return; } for(int i=1;i<=K;i++){ for(int j=0;j<=(N-i)/(i+1);j++){ if(TrangThai[i+j*(i+1)]==0){ TrangThai[i+j*(i+1)]=1; } else { TrangThai[i+j*(i+1)]=0; } } backtrack(k+1); for(int j=0;j<=(N-i)/(i+1);j++){ if(TrangThai[i+j*(i+1)]==0){ TrangThai[i+j*(i+1)]=1; } else { TrangThai[i+j*(i+1)]=0; } } } } public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int tc=scanner.nextInt(); for(int i=0;i<tc;i++){ N=scanner.nextInt(); K=scanner.nextInt(); for(int j=1;j<=N;j++){ TrangThai[j]=scanner.nextInt(); } ans=0; backtrack(0); System.out.println("#"+(i+1)+" "+ans); } } }
Editor is loading...