信息
- ID
- 1140
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 14
- 已通过
- 4
- 上传者
思路:
先判断保质期内是否在当月,是则直接输出;否则从下月开始,逐月扣除当月天数,直到找到能容纳剩余保质期的月份,输出该月和剩余天数;若遍历完 12 月仍有剩余,说明能到下一年,输出^_^
。
#include <bits/stdc++.h>
using namespace std;
#define int long long
int date[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
void solve(){
int b,c,d;
cin >> b >> c >> d;
if(d + c <= date[b]){
cout << b << ' ' << d + c << endl;
return;
}
d -= date[b]-c;
for(int i = b + 1; i <= 12; i++){
if(d > date[i]) {
d -= date[i];
}
else{
cout << i << ' '<< d << endl;
return;
}
}
cout<<"^_^"<<endl;
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
int T = 1;
cin >> T;
while(T--){
solve();
}
return 0;
}