1013

 

为了测试数据,在网上看了好多思想,还是坚持自己最初的想法,字符转成数组。

 

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		while (s.hasNext()) {
			for (int i = s.nextInt(); i >= 1; i--) {
				int[] a = new int[12];// 把字符对应成int数组
				int count = 0;// 不平衡的次数 = 假币出现的次数
				for (int j = 0; j < 3; j++) {
					String left = s.next();
					String right = s.next();
					switch (s.next().charAt(0)) {
					case 'd':
						for (char c : left.toCharArray()) {
							a[c - 65] -= 4;
						}
						for (char c : right.toCharArray()) {
							a[c - 65] += 4;
						}
						count++;
						break;
					case 'e':
						for (char c : left.toCharArray()) {
							a[c - 65]++;
						}
						for (char c : right.toCharArray()) {
							a[c - 65]++;
						}
						break;
					case 'u':
						for (char c : left.toCharArray()) {
							a[c - 65] += 4;
						}
						for (char c : right.toCharArray()) {
							a[c - 65] -= 4;
						}
						count++;
						break;
					}
				}
				for (int j = 0; j < 12; j++) {
					if (a[j] % (4 * count) == 0) {
						if (a[j] > 0) {
							System.out.println((char) (j + 65) + " is the counterfeit coin and it is heavy.");
							break;
						} else if (a[j] < 0) {
							System.out.println((char) (j + 65) + " is the counterfeit coin and it is light.");
							break;
						}
					}
				}
			}
			break;
		}
		s.close();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值