时间超限 !! 只有二十分 大佬如何提速?
查看原帖
时间超限 !! 只有二十分 大佬如何提速?
699595
shannonCoding楼主2022/3/19 11:44
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	static int []inarr;
	static int index=0;
	static int[] outarr;
	static int N ;
	static int M ;
	static int []visit;
	static BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
	
	public static void main(String[] args) throws IOException {
		String readLine1 = reader.readLine();
		 N = Integer.valueOf(readLine1);
		 String readline2 = reader.readLine();
		 M = Integer.valueOf(readline2);
		String readline3 = reader.readLine();
		String[] datastr = readline3.split(" ");
		
		visit=new int[N];
		inarr=new int[N];
		outarr=new int [N];
		for (int i = 0; i < datastr.length; i++) {
			inarr[i]=Integer.parseInt(datastr[i]);
		}
		pailie(0);
		
	}
	
	static void pailie(int k) {
		if (k>=N) {
			index++;
			if (index==M+1) {
				for (int i = 0; i < outarr.length; i++) {
					System.out.print(outarr[i]+" ");
				}
				return ;
			}
		}else {
			for (int i = 0; i < inarr.length; i++) {
				if (visit[i]==0) {
					visit[i]=1;
					outarr[k]=inarr[i];
					pailie(k+1);
					visit[i]=0;
				}
			}
		}
	}
}

2022/3/19 11:44
加载中...