結果
| 問題 | 
                            No.239 にゃんぱすー
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2021-11-14 21:14:04 | 
| 言語 | C++17  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 49 ms / 2,000 ms | 
| コード長 | 2,691 bytes | 
| コンパイル時間 | 742 ms | 
| コンパイル使用メモリ | 99,032 KB | 
| 最終ジャッジ日時 | 2025-01-25 17:58:49 | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 33 | 
ソースコード
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <queue>
using namespace std;
using ll = long long;
namespace cpio{
    //IO library for Competitive-Programming
    struct scanner {
        private:
            struct reader {
                template <typename T> operator T() const {T buf; std::cin >> buf; return buf;}
            };
        public:
            scanner() {std::cin.sync_with_stdio(false); std::cin.tie(nullptr);}
            reader operator()() const {return reader();}
    };
    void yes(){
        cout << "Yes\n";
    }
    void no(){
        cout << "No\n";
    }
}
namespace cpmath{
    //Math library for Competitive-Programming
    ll factorial(ll a, ll b = -1, const ll fmod = -1){
        ll ans = 1;
        if (fmod > 1) {
            if (b == -1) for (ll i = a; i > 1; i--) ans = ((ans%fmod)*(i%fmod))%fmod;
            else for (ll i = a; i >= b; i--) ans = ((ans%fmod)*(i%fmod))%fmod;
        }
        else{
            if (b == -1) for (ll i = a; i > 1; i--) ans = ans*i;
            else for(ll i = a; i >= b; i--) ans = ans*i;
        }
        return ans;
    }
    ll fastpow(ll m, ll p){
        if (p == 0) return 1;
        if (p%2 == 0){
            ll t = fastpow(m, p/2);
            return t*t;
        }
        return m*fastpow(m, p-1);
    }
    ll modpow(ll m, ll p, const ll fmod){
        if (p == 0) return 1;
        if (p%2 == 0){
            ll t = modpow(m, p/2, fmod);
            return (t*t)%fmod;
        }
        return (m*modpow(m, p-1, fmod))%fmod;
    }
    const ll mod97 = 1000000007;
    const ll mod99 = 1000000009;
    const ll mod89 = 998244353;
}
cpio::scanner in; //Declaration of inputclass
using cpio::yes;
using cpio::no;
using cpmath::mod89;
using cpmath::mod97;
using cpmath::mod99;
int main(){
    int n = in();
    string greeting[n][n];
    for (int i = 0; i < n; i++){
        for (int j = 0; j < n; j++){
            cin >> greeting[i][j];
        }
    }
    vector<bool> nyanpass(n, true);
    for (int i = 0; i < n; i++){
        for (int j = 0; j < n; j++){
            if (greeting[i][j] != "nyanpass" && i != j){
                cerr << i << " " << j << endl;
                nyanpass[j] = false;
            }
        }
    }
    for (auto x : nyanpass){
        cerr << x << " ";
    }
    cerr << endl;
    int ans = 0;
    for (int i = 0; i < n; i++){
        if (nyanpass[i] == true){
            if (ans == 0) ans = i+1;
            else {cout << -1 << endl; return 0;}
        }
    }
    
    if (ans == 0) cout << -1 << endl;
    else cout << ans << endl;
}