zoukankan      html  css  js  c++  java
  • hdu 1528【Card Game Cheater】

    #include <iostream>
    #include <cstring>
    #include <string>
    #include <vector>
    using namespace std;
    
    vector<int> card[100];
    int n;
    bool vis[100];
    int link[100];
    
    int num_pre(char a)
    {
    	static string pre = "23456789TJQKA";
    	for(int i = 0;i < pre.size();i ++)
    	{
    		if(a == pre.at(i))
    			return i;
    	}
    
    	return pre.size();
    }
    
    int num_suf(char a)
    {
    	static string suf = "CDSH";
    	for(int i = 0;i < suf.size();i ++)
    	{
    		if(a == suf.at(i))
    			return i;
    	}
    
    	return suf.size();
    }
    
    bool is_big(const string& a,const string& b)
    {
    	int aa = num_pre(a.at(0));
    	int bb = num_pre(b.at(0));
    	if(aa == bb)
    		return num_suf(a.at(1)) > num_suf(b.at(1));
    
    	return aa > bb;
    }
    
    bool can(int x)
    {
    	int len = card[x].size();
    	for(int i = 0;i < len;i ++)
    	{
    		int t = card[x].at(i);
    		if(!vis[t])
    		{
    			vis[t] = true;
    			if(link[t] == -1 || can(link[t]))
    			{
    				link[t] = x;
    				return true;
    			}
    		}
    	}
    
    	return false;
    }
    
    int maxmatch()
    {
    	int num = 0;
    	for(int i = 0;i < n;i ++)
    	{
    		memset(vis,false,sizeof(vis));
    		if(can(i))
    			num ++;
    	}
    
    	return num;
    }
    
    int main()
    {
    	int cas;
    	cin >> cas;
    	while(cas --)
    	{
    		cin >> n;
    		memset(link,-1,sizeof(link));
    		for(int i = 0;i < n;i ++)
    		{
    			card[i].clear();
    		}
    		string ss[100];
    		for(int i = 0;i < n;i ++)
    		{
    			cin >> ss[i];
    		}
    		string ee;
    		for(int i = 0;i < n;i ++)
    		{
    			cin >> ee;
    			for(int j = 0;j < n;j ++)
    			{
    				if(is_big(ee,ss[j]))
    					card[j].push_back(i);
    			}
    		}
    
    		printf("%d\n",maxmatch());
    	}
    
    	return 0;
    }
    
     表示自己写的很暴力...懒得一个一个的比较,直接用字符串比较...貌似复杂了............
  • 相关阅读:
    前端技术-PS切图
    Html5资料整理
    Html5知识体系
    Html知识体系
    C语言知识结构
    ASP.NET知识结构
    src和href的区别
    Ajax的简单使用
    学习理论
    求模运算法则
  • 原文地址:https://www.cnblogs.com/Shirlies/p/2497889.html
Copyright © 2011-2022 走看看