看到题目一眼丁真dfs果然超时 警!!!
查看原帖
看到题目一眼丁真dfs果然超时 警!!!
1057414
kaduoyazikasa楼主2024/11/13 20:10

世人若学我,如同入魔道

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;

public class Main {
	public static int[] vis =new int [1001];
	public static Long sum = 0L;
	public static int n = 0;
	public static int[] arr = new int [1001];
	public static void main(String[] args) throws IOException {
		StreamTokenizer stk = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
		
		while(stk.nextToken() != StreamTokenizer.TT_EOF) {
			arr[n++] = (int) stk.nval;
		}		
		dfs(0);
		System.out.println(sum);
		
	}
	private static void dfs(int x) {
		if(x > n - 1) {
			for(int i = 0; i < n; i++) {
				sum += vis[i] == 1 ? arr[i] : 0;
			}
			return;
		}
		//选
		vis[x] = 1;
		dfs(x + 1);
		vis[x] = 0;
		
		//不选
		vis[x] = 2;
		dfs(x + 1);
		vis[x] = 0;
		
	}

}

2024/11/13 20:10
加载中...