packageorg.uestc.demo.shixi;importjava.util.ArrayDeque;importjava.util.PriorityQueue;importjava.util.Scanner;publicclassCodeTrain1{publicstaticvoidmain(String[] args){Scanner sc =newScanner(System.in);int testCount = sc.nextInt();boolean[] res =newboolean[testCount];for(int i =0; i < testCount; i++){intN= sc.nextInt(),M= sc.nextInt(),A= sc.nextInt(),B= sc.nextInt();ArrayDeque<Edge>[] adj =newArrayDeque[N];for(int j =0; j <M; j++){int u = sc.nextInt(), v = sc.nextInt(), c = sc.nextInt();ArrayDeque<Edge> uedges = adj[u];if(uedges ==null){
uedges.add(newEdge(u, v, c));}ArrayDeque<Edge> vedges = adj[v];if(vedges ==null){
vedges.add(newEdge(v, u, c));}}}}/**
* 求最短路径值
*
* @param adj 邻接表
* @param s 起点
* @param e 终点
* @return 范湖最短路径的长度
*/privatestaticintdijkstra(ArrayDeque<Edge> adj,int s,int e){int[] edgeTo =newint[adj.size()], distTo =newint[adj.size()];for(int i =0; i < distTo.length; i++){
distTo[i]=Integer.MAX_VALUE;}PriorityQueue<Integer> pq =newPriorityQueue<>();
edgeTo[s]=0;}privatestaticclassEdge{publicint from;publicintto;publicint weight;publicEdge(int from,intto,int weight){this.from = from;this.to=to;this.weight = weight;}}}
packageorg.uestc.demo.shixi;importjava.util.Scanner;publicclassCodeTrain2{publicstaticvoidmain(String[] args){compute_fib_array();}privatestaticvoidcompute_fib_array(){Scanner sc =newScanner(System.in);int n = sc.nextInt(), m = sc.nextInt();int[] arr =newint[n];for(int i =0; i < n;++i){
arr[i]= sc.nextInt();}int rowCnt = m / n;int columnCnt = m % n -1;int[] comarr =newint[n];for(int i =0; i < rowCnt; i++){for(int j =0; j < n; j++){int left = j ==0? n -1: j -1;int right =(j +1)% n;
comarr[j]= arr[left]+ arr[right];}System.arraycopy(comarr,0, arr,0, n);}System.out.println(arr[columnCnt]);}}
packageorg.uestc.demo.shixi;importjava.util.Arrays;importjava.util.Scanner;publicclassCodeTrain3{publicstaticvoidmain(String[] args){diff_perfect_num();}privatestaticvoiddiff_perfect_num(){Scanner scanner =newScanner(System.in);int num = scanner.nextInt();int[] arr =newint[num];for(int i =0; i < num; i++){
arr[i]= scanner.nextInt();}int len = scanner.nextInt();int count =0;Arrays.sort(arr);int last = num -1;while(true){if(minus(arr, last, len)){
count++;}else{break;}if(arr[last]==0) last--;}System.out.println(count);}privatestaticbooleanminus(int[] arr,int end,int len){if(end +1< len)returnfalse;int count = len;for(int i = end; i >= end - len && count >0; i--){if(arr[i]>0){
arr[i]--;
count--;}}return count ==0;}}