1 条题解

  • 0
    @ 2025-10-12 21:09:02

    思路: 先判断保质期内是否在当月,是则直接输出;否则从下月开始,逐月扣除当月天数,直到找到能容纳剩余保质期的月份,输出该月和剩余天数;若遍历完 12 月仍有剩余,说明能到下一年,输出^_^

    • @ 2025-10-12 21:09:08
      #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;
      }
      
      
      
  • 1

信息

ID
1140
时间
1000ms
内存
256MiB
难度
9
标签
(无)
递交数
14
已通过
4
上传者