WY33. 计算糖果
描述
A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:输入描述
输入为一行,一共4个整数,分别为A - B,B - C,A + B,B + C,用空格隔开。 范围均在-30到30之间(闭区间)。输出描述
输出为一行,如果存在满足的整数A,B,C则按顺序输出A,B,C,用空格隔开,行末无空格。 如果不存在这样的整数A,B,C,则输出No示例1
输入:
1 -2 3 4
输出:
2 1 3
C 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2020-08-19
#include <stdio.h> int main() //2020.8.19 sx { int a,b,c,d,l,j,x; scanf("%d %d %d %d",&a,&b,&c,&d); if ((a+c)%2==1||(b+d)%2==1||(d-b)%2==1) {printf("No"); return 0;} l=(a+c)/2; j=(b+d)/2; x=(d-b)/2; if(l>=0&&j>=0&&x>=0) printf("%d %d %d",l,j,x); else printf("No"); return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 380KB, 提交时间: 2018-08-16
#include<stdio.h> int main(void) { int a,b,c,d,x,y,z; scanf("%d%d%d%d",&a,&b,&c,&d); x=(a+c)/2; y=c-x; z=d-y; if(((x-y)==a)&((y-z)==b)&&((x+y)==c)&&((y+z)==d)) printf("%d %d %d",x,y,z); else printf("No"); return 0; }