hdu-1721

Bother

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 347    Accepted Submission(s): 281


Problem Description
随着物理学的发展,科学家们发现了越来越多的粒子。有一天,筱莜在做实验的时候发现了一种麻烦的粒子,因为这些粒子必须成对产生或消失。
面对这些粒子,筱莜开始头痛,怎么放置这些粒子才能让他们都消失呢?
经过很多天的努力,筱莜终于设计出了一个实验装置,它是一个的立方体,编号A,B,C,……H,如图所示,

每个顶点上都有一定数量的“麻烦”子,不同顶点初始的“麻烦”子数量可能不同。每次可以选择两个相邻的顶点,让他们同时产生或者消失。例如:每个照相机里的初始粒子数为1,0,1,0,3,1,0,0,那么一个合法的操作顺序为:EF-,EA-,AD+,AE-,DC-(EF-表示点E、F减少同样数目的粒子,+表示同样数目增加)。这样所有的粒子都消失了。
因为有时给出的粒子数不能全部消失,这事又让筱莜头痛了,现在请你帮助小兔判断一下,给出的粒子最后能不能都消失掉。
 

Input
多组输入,每组数据为8个数字(int范围内),以-1结束.
 

Output
如果能使所有粒子都消失,输出“All the seeds can be cleared away!”,否则输出“Sorry,it can't be cleared away!”。
 

Sample Input
  
1 0 1 0 3 1 0 0 28 74 11 80 75 30 63 1 -1
 

Sample Output
  
All the seeds can be cleared away! Sorry,it can't be cleared away!
做这道题的时候表示没有一点思路,我知道我很水,我是参考网上的代码的
代码如下:
#include<stdio.h> int main(){ int A,B,C,D,E,F,G,H; while(~scanf("%d",&A),A>=0){ int num1=0,num2=0; scanf("%d %d %d %d %d %d %d",&B,&C,&D,&E,&F,&G,&H); num1=F+A+C+H;  //我的大概理解的意思就是:分成两部分,每部分都可以有一个点与另外三个点  num2=E+D+B+G;   //连接,若两部分,相等的话可以通过同意的相加或相减将所有的点都消除  if(num1==num2)   printf("All the seeds can be cleared away!\n"); else   printf("Sorry,it can't be cleared away!\n"); } return 0; }
posted @   wojiaohuangyu  阅读(3)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示