「遊族杯」上海市高校程序設計邀請賽暨華東師範大學第九屆 ECNU Coder 程序設計競賽

A.足球錦標賽

題目地址:http://acm.ecnu.edu.cn/contest/16/problem/A/

思路:數字增加1翻一次,經過一個兩位數的整數翻10次,如從9翻到10需要翻10次,即1+9,經過一個三位數的整數翻19次,如從99到100需要翻19次,即1+9+9

AC代碼:

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		
		int [] num = new int[1000010];
		Scanner in = new Scanner(System.in);
		int t = in.nextInt();
		for (int time = 1; time<=t; time++){
			String str1 = in.next();
			String str2 = in.next();
			int k = in.nextInt();
			int num1 = Integer.valueOf(str1);
			int num2 = Integer.valueOf(str2);
			int max1 = -1;
			for (int i=0; i<=k; i++) {
				int x1 = 0;
				int x2 = 0;
				for (int j=num1+1; j<=num1+i; j++) {
					if(j % 10 == 0)
						x1++;
					if(j % 100 == 0)
						x2++;
				}
				int sum1 = i + x1 * 9 + x2 * 9;
				int y1 = 0;
				int y2 = 0;
				for (int j=num2+1; j<=num2+k-i; j++) {
					if(j % 10 == 0)
						y1++;
					if(j % 100 == 0)
						y2++;
				}
				int sum2 = k - i + y1 * 9 + y2 * 9;
				if(sum1 + sum2 > max1)
					max1 = sum1 + sum2;
			}
			System.out.println("Case " + time + ": " + max1);
		}
	}

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章