C. 三角形的传说
时间限制 1000 ms 内存限制 65536
KB
题目描述
有一个传说,对给定正整数 m 和 q,总有一个边长为 a,b,c 的三角形,是满足 a % m + b % m = c % m = q 的条件的三角形中周长最小的。
Mays 对此深信不疑,她打算和你一起探讨这个问题。她出了一些数据,请你帮忙求最小周长,如果找不到这样一个三角形,也请你告诉她这个惨痛的事实。
输入格式
给一个组数 T。接下来 T 组,每组两个数字 m 和 q ,(1 <= m <= 10^5 , 0 <= q < m)。
输出格式
输出当前组数和最小周长,格式见样例。若不存在满足的三角形,请把最小周长的数字替换成"Poor Mays!".
输入样例
2
3 2
3 2
输出样例
Case 1: 7
Case 2: 7
啊。。。其实最小周长的话,边长就应该是1m,2m,3m吧。。=
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int cas=1,m,q,i,t,ans;
scanf("%d",&t);
for(i=0;i<t;i++){
scanf("%d%d",&m,&q);
printf("Case %d: ",cas++);
if(q!=0){
if(m<2*q)ans=2*q+m;
else if(q!=1)ans=2*q+m*2;
else ans=2*q+3*m;
}
else ans=3*m;
printf("%d\n",ans);
}
return 0;
}