P7441 「EZEC-7」Erinnerung
(抠图真香)
思路
分类讨论:
- x, y 均为0,则无论如何都无法凑出满足题意的可能。所以输出0;
- x, y 只有其中之一为0,如果 K%(x,y中不为0的那个)!=0.则说明仅存在一种情况使题意满足。所以输出1,反之则输出0.
- x, y均不为0.按照题目要求必须两两成对才可以消除。则最大可以消除量为 K/max(x,y) 。此时考虑是否这些条件均满足题意.令 min =min(x,y) ,max=max(x,y). 则 K%min一定小于max,则对于每一个 max i均有一个范围内的min i使min i + max i >=K; 满足题意。这此种情况应输出K/max(x,y)
code
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
ll m;
int main()
{
cin >> m;
while(m--)
{
ll a, b, c;
cin >> a >> b >> c;
if(!a&&!b)
printf("0\n");
else if(!a&&b)
{
if(c%b==0)
printf("1\n");
else
printf("0\n");
}
else if(a&&!b)
{
if(c%a==0)
printf("1\n");
else
printf("0\n");
}
else
printf("%lld\n", c / max(a, b));
}
return 0;
}