问题标题: 酷町堂:4545 开心郊游

0
0
已解决
崔乔昕
崔乔昕
中级光能
中级光能

题目链接: 酷町堂:4545

4545   开心郊游

经验值:800 时间限制:1000毫秒 内存限制:128MB

题目描述 De**ion

有四个人相约一起郊游,他们四个人的年龄加在一起是97岁,最小的年龄是10岁,他和年龄最大的那个人岁数和比另外两个人岁数和大7岁,请你求出这四个人的年龄可能是多少。

输入描述 Input De**ion

输出描述 Output De**ion

可能有多组解,有几组输出几行(按字典序排序),每一行四个数从小到大,分别代表这四个人的年龄,年龄之间用空格隔开。

样例输入 Sample Input

样例输出 Sample Output

数据范围及提示 Data Size & Hint

年龄可能相同

 

不废了,大佬们康康

#include <iostream>
using namespace std;
int maxa=-0x3f3f3f3f;
int mina=0x3f3f3f3f;
int main(){
    for(int i=10;i<=87;i++){
        for(int j=10;j<=87;j++){
            for(int k=10;k<=87;k++){
                maxa=max(maxa,max(i,max(j,k)));
                mina=min(mina,min(i,min(j,k)));
                if(10+i+j+k==97&&maxa==i&&mina==j){
                    cout<<10<<" "<<j<<" "<<k<<" "<<i<<endl;
                }
                if(10+i+j+k==97&&maxa==i&&mina==k){
                    cout<<10<<" "<<k<<" "<<j<<" "<<i<<endl;
                }
                if(10+i+j+k==97&&maxa==j&&mina==i){
                    cout<<10<<" "<<i<<" "<<k<<" "<<j<<endl;
                }
                if(10+i+j+k==97&&maxa==j&&mina==k){
                    cout<<10<<" "<<k<<" "<<i<<" "<<j<<endl;
                }
                if(10+i+j+k==97&&maxa==k&&mina==i){
                    cout<<10<<" "<<i<<" "<<j<<" "<<k<<endl;
                }
                if(10+i+j+k==97&&maxa==k&&mina==j){
                    cout<<10<<" "<<j<<" "<<i<<" "<<k<<endl;
                }
            }
        }
    }
    return 0;
}

 


0
已采纳
薛乘志
薛乘志
初级启示者
初级启示者

你这是把简单的问题复杂化了啊......

首先在循环时就可以控制哪个人是年龄最小的:

for(int i=10;i<=97;i++){
    for(int j=i;j<=97;j++){
        for(int k=j;k<=97;k++){
            ....
        }
    }
} // 保证i<=j<=k

然后的判断就简单了:

if(10+i+j+k==97&&10+k-i-j==7){
    cout....
}

 

0
0
0
李奕歌
李奕歌
初级天翼
初级天翼

暴力输出(doge

10 10 35 42
10 11 34 42
10 12 33 42
10 13 32 42
10 14 31 42
10 15 30 42
10 16 29 42
10 17 28 42
10 18 27 42
10 19 26 42
10 20 25 42
10 21 24 42
10 22 23 42

0
王耀森
王耀森
中级光能
中级光能

同上,自己算一下不也行吗?

0
刘意阳
刘意阳
初级天翼
初级天翼


 

 

 

 

 

 

 

 

 

 

 

0
赵孟喆
赵孟喆
资深守护
资深守护

我是你同学,能采纳我吗

我要回答