以2018年对应天干5、地支11为基准,先算偏移量d=n-2018,再分别对10和12取模(负数补回)即可得到目标年的天干与地支编号。
void solve(){
ll n;
while(cin>>n){
ll d=n-2018;
ll a=(4+d)%10;
if(a<0){
a+=10;
}
ll b=(10+d)%12;
if(b<0){
b+=12;
}
cout<<a+1<<" "<<b+1<<endl;
}
}
笨比楼主wa了一发还以为是数据太大了,原来是忘了输入数据有多组数据。

京公网安备 11010502036488号