HPU有四个餐厅

来源:互联网 发布:php jquery ajax 编辑:程序博客网 时间:2024/06/10 07:11

点击打开链接

问题 C: Pесторан

时间限制: 2 Sec 内存限制: 128 MB  Special Judge

提交: 718 解决: 250

题目描述

听说,只有英语满级的人才认识Pесторан这个单词。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

HPU有四个餐厅,分别是学苑、学府、学士、学子餐厅,简称一餐、二餐、三餐、四餐。

往常吃饭的时候,各餐厅拥挤度由高到低普遍是:一餐、二餐、三餐、四餐。
假设Ocean在计算机科学与技术学院,他前往四个餐厅吃饭并返回学院分别需要时间NcbaN,c,b,a
Ocean作为一个多年的老司机,他认为NabcN,a,b,c满足一个等式即N=a+b+cN=a+b+c
现在Ocean只确定了NN的大小,他想知道是否存在一个三元组(a,b,c)(a,b,c)满足a+b+c=Na+b+c=N,其中abca,b,c均是正整数且满足a<=b<=ca<=b<=c

输入

第一行输入一个整数TT,代表有TT组测试数据。
每组数据输入一个整数NN

注:1<=T<=1051<=N<=1091<=T<=105,1<=N<=109

输出

对每组测试数据,若不存在合法的三元组,请输出1−1

若存在多个合法的三元组(a,b,c)(a,b,c),你可以输出任意一组,其中aabbbbcc之间必须有一个空格。

样例输入

269

样例输出

2 2 22 3 4

提示

对于第二组数据,9=3+3+3(3,3,3)9=3+3+3,(3,3,3)也是合法的三元组,所以你输出333333也是正确的。

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int main(){int t,m,n,a,b,c;scanf("%d",&t);while(t--){scanf("%d",&n);if(n<3)printf("-1\n");else{a=1;b=1;c=n-a-b;printf("%d %d %d\n",a,b,c);}}return 0;}


原创粉丝点击