为什么错
  • 板块灌水区
  • 楼主ananzzx
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/8/22 13:55
  • 上次更新2024/8/22 15:48:13
查看原帖
为什么错
1038289
ananzzx楼主2024/8/22 13:55

P1333 瑞瑞的木棍 按照P7771 【模板】欧拉路径写的



#include <bits/stdc++.h>
using namespace std;
const int MAXN = 250000 * 2 + 5;
map<string,int> mp;
string s1,s2;
int tot;
int din[MAXN][2];
signed main(){
    int x,y;
    while(cin >> s1 >> s2){
        if(mp[s1] == 0){
            mp[s1] = ++tot;
        }

        if(mp[s2] == 0){
            mp[s2] = ++tot;
        }
        x = mp[s1];
        y = mp[s2];
        din[x][0]++;
        din[y][1]++;
    }
    bool f = 1;
    int cnt1 = 0;
    int cnt2 = 0;
    for(int i = 1;i <= tot;i++){
        if(din[i][0] != din[i][1]){
            f = 0;
            if(din[i][0] - din[i][1] == 1) cnt1++;
            else if(din[i][1] - din[i][0] == 1) cnt2++;
            else return puts("Impossible"), 0;
        }
    }
    if(f == 0 && !(cnt1 == 1 && cnt2 == 1)) return !puts("Impossible"), 0;
    else return puts("Possible"), 0;
}

2024/8/22 13:55
加载中...