专栏文章
题解:UVA10257 Dick and Jane
UVA10257题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mioddufz
- 此快照首次捕获于
- 2025/12/02 17:22 3 个月前
- 此快照最后确认于
- 2025/12/02 17:22 3 个月前
信息整合:
-
已知 Dick 是 岁,且 Jane 为 岁,求出他们的年龄之和 。
-
输入中给出了 只宠物在某个时刻的年龄。 当 Spot 实岁 岁时,Puff 刚出生;当 Spot 实岁 岁,且 Puff 实岁 岁时,而 Turtle 刚出生。他们三现在的年龄之和 等于 。
问:三只宠物现在分别多少岁?
代码思路:
先求出 ,再列方程计算现在距离 Turtle 出生过去了的年数 ,并得出 只宠物的年龄。


但是, 不一定正好被 整除,还需分情况讨论:
-
当 时,同时给 Spot 和 Puff 都 岁(因为出生月份或日期的不同,可能会导致在某一时刻两只宠物之间年龄差的微变)。这种情况说明 Turtle 的月份小于 Spot 的,也小于 Puff 的月份(数字越大,月份越小)。
-
当 时,要为 Spot 或 Puff 的年龄 。因为 一定是 的,所以只有在 时才将 Spot 的年龄增加 ,其余的时候将 Puff 的年龄 。
CODE:
CPP#include<bits/stdc++.h>
using namespace std;
int s,p,y,j;
int main(){
//可自行添加快读等。
while(cin>>s>>p>>y>>j){//循环输入。
int d=12;
int k=(d+j-p-y)/3;//解方程……
int S=k+y,P=k+p,Y=k;//把3只宠物年龄列出来。
if(S+P+Y+2==d+j){//k%3==2时。
S+=1,P+=1;
}else if(S+P+Y+1==d+j){//k%3==1时。
if(y==s+p)S+=1;
else P+=1;//y>s+p
}
cout<<S<<" "<<P<<" "<<Y<<"\n";//记得换行。
}
return 0;//好习惯。
}
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...