usaco Controlling Companies
来源:互联网 发布:网络教育学费一般多少 编辑:程序博客网 时间:2024/06/11 12:03
/*ID: daniel.20LANG: JAVATASK: concom */import java.io.*;import java.util.*;public class concom { static int num; static int matrix[][]; static int control[][]; public static void initial() throws Exception { BufferedReader f = new BufferedReader(new FileReader("concom.in")); num = Integer.parseInt(f.readLine()); matrix = new int[101][101]; control = new int[101][101]; for (int i = 0; i < num; ++i) { StringTokenizer st = new StringTokenizer(f.readLine()); int x = Integer.parseInt(st.nextToken()); int y = Integer.parseInt(st.nextToken()); int value = Integer.parseInt(st.nextToken()); matrix[x][y] = value; } } public static void update(int i, int j) { for (int k = 1; k < 101; ++k) { matrix[i][k] += matrix[j][k]; if (matrix[i][k] > 50 && control[i][k] == 0) { control[i][k] = 1; update(i, k); } } for (int k = 1; k < 101; ++k) { if (control[k][i] == 1) { matrix[k][j] += matrix[i][j]; if (matrix[k][j] > 50 && control[k][j] == 0) { control[k][j] = 1; update(k, j); } } } } public static void work() { for (int i = 1; i < 101; ++i) { for (int j = 1; j < 101; ++j) { if (matrix[i][j] > 50&&control[i][j]==0) { control[i][j] = 1; update(i, j); } } } } public static void print() throws Exception { PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("concom.out"))); for (int i = 1; i < 101; ++i) { for (int j = 1; j < 101; ++j) { if (control[i][j] == 1&&i!=j) { out.println(i + " " + j); } } } out.close(); } public static void main(String[] args) throws Exception { initial(); work(); print(); System.exit(0); }}
一个模拟题,开始想用并查集,现在发现并查集在这里没法用。。。
之后用朴素的数组做,其实这应该算个模拟,必须用到递归,以用递归就意味着必须思维很清晰. 递归是很难debug的
想清楚后还是很快就出来了,忘记了i!=j这个,题目又阴我...
- 【其他】【USACO】Controlling Companies
- usaco Controlling Companies
- USACO Controlling Companies DFS
- usaco Controlling Companies
- USACO Controlling Companies
- USACO:Controlling Companies
- USACO-Controlling Companies
- USACO Controlling Companies
- USACO Controlling Companies
- USACO-Controlling Companies
- usaco Controlling Companies
- USACO / Controlling Companies (类似BFS)
- USACO 2.3.5 Controlling Companies
- USACO 2.3 Controlling Companies (concom)
- USACO--2.3Controlling Companies+dfs
- USACO 2.3 Controlling Companies (DFS)
- USACO 2.3.5 Controlling Companies
- USACO 2.3 Controlling Companies 题解
- vc 简单播放音乐
- 修改IP, tag:批处理 + c语言
- 远程线程注入技术概述
- 博约的面试
- 使用perl编写socket程序范例
- usaco Controlling Companies
- CStdioFile的WriteString 不能写汉字或英文的解决办法
- js 判断各种浏览器的方法与比较
- Facebook和Twitter之后 我们用什么?
- 远程线程注入
- Python的世界
- eclipse无法导入import pygame解决方法
- 大学生工作满一年别忘转正定级
- 从零开始学习OpenGL ES之一 – 基本概念