POJ1013
来源:互联网 发布:ubuntu系统安装教程 编辑:程序博客网 时间:2024/04/30 14:14
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class Main {
- public static void main(String[] args) throws NumberFormatException,
- IOException {
- BufferedReader read = new BufferedReader(new InputStreamReader(
- System.in));
- int t = Integer.parseInt(read.readLine());
- String[][] bijiao;
- boolean[] coin;
- int[] hl;
- int fault;
- for (int i = 0; i < t; i++) {
- fault = -1;
- bijiao = new String[3][];
- hl = new int[12];
- coin = new boolean[12];
- for (int j = 0; j < 3; j++) {
- bijiao[j] = read.readLine().split(" ");
- if (bijiao[j][2].equals("even")) {
- for (int k = 0; k < bijiao[j][0].length(); k++) {
- coin[bijiao[j][0].charAt(k) - 'A'] = true;
- coin[bijiao[j][1].charAt(k) - 'A'] = true;
- }
- } else {
- for (int k = 0; k < 12; k++) {
- if (bijiao[j][0].indexOf((char) ('A' + k)) == -1
- && bijiao[j][1].indexOf((char) ('A' + k)) == -1) {
- coin[k] = true;
- }
- }
- }
- }
- for (int j = 0; j < 3; j++) {
- if (bijiao[j][2].equals("up")) {
- for (int k = 0; k < bijiao[j][0].length(); k++) {
- if (hl[bijiao[j][0].charAt(k) - 'A'] != 1) {
- hl[bijiao[j][0].charAt(k) - 'A'] = -1;
- } else {
- coin[bijiao[j][0].charAt(k) - 'A'] = true;
- }
- if (hl[bijiao[j][1].charAt(k) - 'A'] != -1) {
- hl[bijiao[j][1].charAt(k) - 'A'] = 1;
- } else {
- coin[bijiao[j][1].charAt(k) - 'A'] = true;
- }
- }
- } else if (bijiao[j][2].equals("down")) {
- for (int k = 0; k < bijiao[j][0].length(); k++) {
- if (hl[bijiao[j][0].charAt(k) - 'A'] != -1) {
- hl[bijiao[j][0].charAt(k) - 'A'] = 1;
- } else {
- coin[bijiao[j][0].charAt(k) - 'A'] = true;
- }
- if (hl[bijiao[j][1].charAt(k) - 'A'] != 1) {
- hl[bijiao[j][1].charAt(k) - 'A'] = -1;
- } else {
- coin[bijiao[j][1].charAt(k) - 'A'] = true;
- }
- }
- }
- }
- for (int j = 0; j < 12; j++) {
- if (!coin[j]) {
- fault = j;
- break;
- }
- }
- if (fault != -1 && hl[fault] == 1) {
- System.out.println((char) ('A' + fault)
- + " is the counterfeit coin and it is light.");
- } else if (fault != -1 && hl[fault] == -1) {
- System.out.println((char) ('A' + fault)
- + " is the counterfeit coin and it is heavy.");
- }
- }
- }
- }
题目:http://acm.pku.edu.cn/JudgeOnline/problem?id=1013
思路:模拟题,经典的假币问题,可以有3种情况判断肯定是真的:
1.在2堆平衡的金币里面的全是真的
2.如果金币没有在不平衡的情况里面出现,那么是真的
3.如果一个金币在小的那端出现过,又在大的那端出现过,那肯定是真的。
- POJ1013
- POJ1013
- POJ1013
- POJ1013
- poj1013
- poj1013
- poj1013
- poj1013
- poj1013
- poj1013
- poj1013 模拟
- poj1013 模拟
- CounterfeitCoin POJ1013
- 瞎搞poj1013
- POJ1013解题报告
- POJ1013 Counterfeit Dollar
- poj1013(称量+hash)
- poj1013--Counterfeit Dollar
- 心德!
- ★Delphi编程反破解经验集说明★
- ANTI-DEDE的几个方法
- Delphi编程如何防破解
- 往一递增有序的顺序表中插入x,仍保持气有序性
- POJ1013
- IoAllocateDriverObjectExtension及伪码
- 2008“搞笑诺贝尔奖”颁布
- 74LS245的问题
- too...to... 与 enough...to... 与 so...that...的区别
- Ext.form.ComboBox提交始终获得displayField的值-解决
- pragma指令简介
- C#中的析构函数
- 关于builder模式的一点想法