题目链接:cable cable cable;
题目思路是不难的,手动模拟一下就可以了,困难在于如何理解题意。
题意是存在M个显示器,K个不同的信号源(不同信号源的颜色不同,且只会通到一个显示屏,一次只能点亮一个)(K<M<2^32-1),从M个显示器选K个屏幕,使显示的颜色不同,每个显示器都要用到注:显示器可以不是,需要多少根线。
案例:输入为(MK)
Sample Input
3 2 20 15
Sample Output
4 90
以M==3,K==2为例:先选K个显示器分别都接上不同的信号线,因为要转换,接下来每个都要接上K个信号线,即
K*(M-K),即所求为num=K+K*(M-K);能理解题意就可以推出来了.
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
long long M, K; //数据需要long long 否则无限wa;
while(~scanf("%llu%llu", &M, &K))//输入与输出这里也是需要注意的
{
long long ans = K * (M - K + 1);
printf("%llu\n", ans);
}
return 0;
}