zoukankan      html  css  js  c++  java
  • luogu_1341 无序字母对

    #include <cstring>
    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <vector>
    using namespace std;
    int n,ans[100010],cnt,in[60];
    vector<int> G[60];
    bool vis[60],answer,dis[60][60],oula;
    char word[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
    'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    
    char getc(){
        char c;
        c=getchar();
        while(1){
            if('a'<=c && c<='z' || ('A'<=c && c<='Z'))return c;
            c=getchar();
        }
    }
    
    void make(){
        for(int i=1;i<=n;i++){
            char u,v;
            int u1,v1;
            u=getc(); v=getc();
            if('A'<=u && u<='Z')u1=u-'A';
            else u1=u-'a'+26;
            if('A'<=v && v<='Z')v1=v-'A';
            else v1=v-'a'+26;
            in[u1]++; in[v1]++;
    		vis[u1]=vis[v1]=1;
            G[u1].push_back(v1); G[v1].push_back(u1);
        }
    }
    
    bool check(){
    	int sum=0;
    	for(int i=0;i<52;i++)if(in[i]%2==1)sum++;
    	if(sum!=2 && sum)return false;
    	return true;
    }
    
    void dfs(int u){
    	ans[++cnt]=u;
    	for(int i=0;i<G[u].size();i++){
    		int v=G[u][i];
    		if(cnt==n+1)return;
    		if(!dis[u][v]){
    			dis[u][v]=1; dis[v][u]=1;
    			dfs(v);
    			dis[u][v]=0; dis[v][u]=1;
    		}
    	}
    	if(cnt!=n+1)cnt--;
    }
    
    int main(){
        scanf("%d",&n);  
        make();
    	if(!check()){puts("No Solution"); return 0;}
    	for(int i=0;i<52;i++)sort(G[i].begin(),G[i].end());
    	int start=0;
        for(int i=0;i<52;i++)
    		if(vis[i]){start=i; break;}
        for(int i=0;i<52;i++)
        	if(in[i]%2==1){start=i; break;}
    	dfs(start);
    	for(int i=1;i<=cnt;i++)putchar(word[ans[i]]);
    	puts("");
        return 0;
    }
    

      

  • 相关阅读:
    执行start-dfs.sh后,datenode没有启动的解决办法
    hadoop 在centos中的搭建
    MySQL 5.7的安装及主从复制(主从同步)
    CentOS7 配置免密码登陆
    关于使用maven打包如何聚合资源文件
    idea常用快捷键
    lombok的使用
    oracle 导出,导入表
    vue项目.eslintrc格式化
    vue-cli3项目关闭烦人的代码检测
  • 原文地址:https://www.cnblogs.com/codetogether/p/7570648.html
Copyright © 2011-2022 走看看