yukicoder No.431 死亡フラグ
問題概要
死亡フラグと生存フラグが与えられる。死亡フラグが2本以上立っていれば、死亡。しかし、生存フラグが立っていれば、死亡フラグによらず生存している。どのような状態か求めよ。
解法
死亡フラグが何本立っているかをd1+d2+d3で求められる。あとは、生存フラグが立っているかで場合分けして、立っていれば、無条件で生存。立っていない時はd1+d2+d3の値は2以上なら死亡している事になる。
ミス
なし。
コード
#include <iostream> #include <set> #include <vector> #include <cstdio> #include <algorithm> using namespace std; typedef long long ll; #define rep(i,n) for(int i=0;i<(n);i++) const int INF = 1e9; int main(void){ int d1, d2, d3; cin >> d1 >> d2 >> d3; int s; cin >> s; int cnt = d1 + d2 + d3; if(s == 1){ printf("SURVIVED\n"); return 0; } if(cnt >= 2){ printf("DEAD\n"); }else{ printf("SURVIVED\n"); } return 0; }