CodeForces - 1047A

A. Little C Loves 3 I
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
Little C loves number «3» very much. He loves all things about it.

Now he has a positive integer n. He wants to split n into 3 positive integers a,b,c, such that a+b+c=n and none of the 3 integers is a multiple of 3. Help him to find a solution.

Input
A single line containing one integer n (3≤n≤109) — the integer Little C has.

Output
Print 3 positive integers a,b,c in a single line, such that a+b+c=n and none of them is a multiple of 3.

It can be proved that there is at least one solution. If there are multiple solutions, print any of them.

Examples
inputCopy
3
outputCopy
1 1 1
inputCopy
233
outputCopy
77 77 79

签到题,读遍题,就能过!

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int a;
     a=n/3;
    if(a%3==0){ if(n%3==0) cout<<a-2<<' '<<a+1<<' '<<a+1;
                else if(n%3==1) cout<<a-1<<' '<<a+1<<' '<<a+1;
                else cout<<a-1<<' '<<a+1<<' '<<a+2;}
    if(a%3==1){
        if(n%3==0) cout<<a<<' '<<a<<' '<<a;
        if(n%3==1) cout<<a<<' '<<a<<' '<<a+1;
        if(n%3==2) cout<<a+1<<' '<<a+1<<' '<<a;

    }
    if(a%3==2)
    {
        if(n%3==0) cout<<a<<' '<<a<<' '<<a;
        if(n%3==1) cout<<a-1<<' '<<a+2<<' '<<a;
        if(n%3==2) cout<<a<<' '<<a<<' '<<a+2;
    }
    return 0;
}
posted @ 2019-05-23 19:55  风骨散人  阅读(114)  评论(0编辑  收藏  举报