- 打击怪物
思路
- @ 2025-1-19 9:51:57
//怪物
/*
关键信息 三个变量 a b c
操作 1 选一个减一 (必须减某一个)
操作2 当操作次数为7或7的倍数的时候 三个同时-1
问题 能否在某一次操作2的时候 三个变量同时从1变成0
计算逻辑 单个-1 和三个同时-1
目的是同时变成0
3
3 2 4 不是7的倍数轮数的时候找到其中最大的做当轮操作
1 3 2 3 怎么停?
2 2 2 3
3 2 2 2
4 1 2 2
5 1 1 2
6 1 1 1
7 0 0 0
1 1 1
10 1 7
1 2 6
1 1 2 5
2 1 2 4
3 1 2 3
4 1 1 3
5 1 1 2
6 1 1 1
7 0 0 0
如果说要一轮一轮的往下减 -1
执行时间 abc 10^8 *3 *10^4
找更快的方式
能不能算一下 一个大轮次 打多少 9滴血
abc 和 9 之间的关系
举例子去算 去找这个逻辑关系
2 5 20 NO
10 10 16 YES
sum = a+b+c;
首选 sum%9==0 {
minx= min(min(a,b),c);// 最小的能撑过所有轮加强 就一定行
sum/9 就是加强的轮数
minx >= sum/9 YES
else NO
}else{
NO
}
首先要满足 和是9的倍数 才能做到刚好完成一个大论次
其次要满足 三个中的最小值 大于等于 sum/9
*/
//怪物
#include <bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int a,b,c,sum=0;
cin>>a>>b>>c;
sum = a+b+c;
if(sum%9==0){
int minn = min(min(a,b),c); //求三个数中的最小值
if(minn>= sum/9){
cout<<"YES"<<endl;
}else{
cout<<"NO"<<endl;
}
}else{
cout<<"NO"<<endl;
}
}
return 0;
}
/*
自己根据思路 为什么代码没写对
*/
0 条评论
目前还没有评论...
信息
- ID
- 4
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 108
- 已通过
- 30
- 上传者