「游族杯」上海市高校程序设计邀请赛暨华东师范大学第九届 ECNU Coder 程序设计竞赛

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_25605637/article/details/72713818

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);
		}
	}

}



猜你喜欢

转载自blog.csdn.net/qq_25605637/article/details/72713818