题目描述

Bessie the cow is helping Farmer John run the USA Cow Olympiad (USACO), an on-line contest where participants answer challenging questions to demonstrate their mastery of bovine trivia.

In response to a wider range of participant backgrounds, Farmer John recently expanded the contest to include four divisions of difficulty: bronze, silver, gold, and platinum. All new participants start in the bronze division, and any time they score perfectly on a contest they are promoted to the next-higher division. It is even possible for a participant to be promoted several times within the same contest. Farmer John keeps track of a list of all contest participants and their current divisions, so that he can start everyone out at the right level any time he holds a contest.

When publishing the results from his most recent contest, Farmer John wants to include information on the number of participants who were promoted from bronze to silver, from silver to gold, and from gold to platinum. However, he neglected to count promotions as they occurred during the contest. Bessie, being the clever bovine she is, realizes however that Farmer John can deduce the number of promotions that occurred solely from the number of participants at each level before and after the contest. Please help her perform this computation!

输入描述:

Input consists of four lines, each containing two integers in the range 0..1,000,000. The first line specifies the number of bronze participants registered before and after the contest. The second line specifies the number of silver participants before and after the contest. The third line specifies the number of gold participants before and after the contest. The last line specifies the number of platinum participants before and after the contest.

输出描述:

Please output three lines, each containing a single integer. The first line should contain the number of participants who were promoted from bronze to silver. The second line should contain the number of participants who were promoted from silver to gold. The last line should contain the number of participants who were promoted from gold to platinum.

示例1

输入
1 2
1 1
1 1
1 2
输出
1
1
1
说明
In this example, 1 participant was registered in each division prior to the contest. At the end of the contest, 2 participants were registered in bronze and platinum. One way this could have happened is that 2 new participants joined during the contest; one was promoted all the way to platinum, and the other stayed in bronze.

Problem credits: Brian Dean

解答

这显然是反映US ACO赛制的题啊
十万个印度奶牛统计了一场US ACO比赛,它们分别统计了赛前和赛后的铜组,银组,金组,白金组的人数
要你求出有分别多少人从铜银金组上升了一个等级
首先我们绝对不会从中间开始考虑,比如金组赛前赛后是1  1,那就没有人上分吗
不一定,有可能上来了x人,上去了x
但是换在铜组或者白金组就不一样了
所以我们可以选择从铜组或者白金组开始递推人数
但是最好是白金组
如果我是出题面和造数据的,我就说有人在比赛时刚刚注册了
#include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <cmath> using namespace std; int a[7],b[7],ans[7]; int main() { for (int i=1;i<=4;i++)
    { scanf("%d%d",&a[i],&b[i]);
    }
    ans[3]=b[4]-a[4];
    ans[2]=b[3]-a[3]+ans[3];
    ans[1]=b[2]-a[2]+ans[2]; for (int i=1;i<=3;i++)
    { printf("%d\n",ans[i]);
    } return 0;
}

来源:千柒/Kan_kiz