Educational Codeforces Round 100(Rated forDiv。2)A。ダンジョン思维

あなたはモンスターと戦わなければならない新しいコンピュータゲームをプレイしています。クリアしようとしているダンジョンで、3体のモンスターに遭遇しました。1つ目はヘルスポイント、2つ目はbヘルスポイント、3つ目はcです。

モンスターを殺すために、発射されたときに選択されたモンスターに1ダメージを与える大砲を使用することができます。7回ごと(つまり、7、14、21などのショット)の大砲ショットが強化され、モンスターの1つだけでなく、すべてのモンスターに1のダメージを与えます。一部のモンスターの現在の体力ポイントが0の場合、通常のショットではターゲットにできず、強化されたショットによるダメージを受けません。

ダンジョンを美しく通過したい、つまり、同じ強化ショットですべてのモンスターを殺したい(つまり、強化ショットをいくつか行った後、各モンスターの体力ポイントが初めて0になるはずです)。各ショットはモンスターに当たる必要があります。つまり、各ショットは少なくとも1つのモンスターにダメージを与えます。

入力
最初の行には、単一の整数t(1≤t≤104)—テストケースの数が含まれています。

各テストケースは、3つの整数a、b、c(1≤a、b、c≤108)を含む1行で構成されています。これは、各モンスターが持つヘルスポイントの数です。

出力
各テストケースについて、同じ強化ショットですべてのモンスターを殺すことができる場合は、「はい」と印刷します。それ以外の場合は、NOを出力します。どのような場合でも、各文字を印刷できます(たとえば、「はい」、「はい」、「はい」、「はい」はすべて肯定的な回答として認識されます)。

例えば
inputCopy
3
3 2 4
1 1 1
10 1 7
outputCopy
YES
NO
NOの

1番目のショットを第モンスターへの最初のモンスター、2番目のショットに、3番目を次のように最初のテストケースでは、あなたが行うことができ3番目のモンスターにショット、最初のモンスターに4番目のショット、3番目のモンスターに5番目のショット、3番目のモンスターに6番目のショット、7番目の強化ショットですべてのモンスターを殺します。

2番目のテストケースでは、モンスターのヘルスポイントの総数が3であるため、同じ強化ショットでモンスターを殺すことはできません。最初の3ショットでモンスターを殺します。

一度に1滴の血で1人にしか打てません。7の倍数でaoeを打つと、全員が1滴の血を失うようになります。1つのaoeで全員の血を打つことができるかどうかを尋ねます。3つしかないためです。
人、7人ごと攻撃の合計は9です。私は全員の血を9で割ります。9未満の場合、成功する方法はありません。次に、/ 9の合計を元の3つの血と比較します。人。

#include<iostream>
#include<string>
#include<map>
#include<algorithm>
#include<memory.h>
#include<cmath>
#include<assert.h>
#include<vector>
using namespace std;
typedef long long ll;
const int maxn=2e5+5;
const int inf=0x3f3f3f3f;
const int mod=1e9+7;
ll a[maxn];
vector<int>l,r;
void solve(){
    
    
	ll t;
	cin>>t;
	while(t--){
    
    
		int a1,b1,c1;
		cin>>a1>>b1>>c1;
		int sum=a1+b1+c1;
		if(sum%9!=0){
    
    
			cout<<"NO"<<endl;
		}
		else{
    
    
			sum/=9;
			if(sum<=a1&&sum<=b1&&sum<=c1){
    
    
				cout<<"YES"<<endl;
			}
			else{
    
    
				cout<<"NO"<<endl;
			}
		}
	}
}
int main()
{
    
    
	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	solve();
	return 0;
}


おすすめ

転載: blog.csdn.net/qq_45891413/article/details/111379752