srupのメモ帳

競プロで解いた問題や勉強したことを記録していくメモ帳

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;
}