zoukankan      html  css  js  c++  java
  • UVA565 Pizza Anyone? 枚举

    UVA565 Pizza Anyone?

    这个题目没啥好讲的,直接暴力枚举即可。

    主要是弄清怎样就是满足条件:

    他想要的存在或不想要的不存在!!!

    Code↓:

    #include<string>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define RG register
    #define IL inline
    #define LL long long
    #define DB double
    using namespace std;
    
    const int N=1100;
    
    char str[N][N];
    int cnt,ans,Max=(1<<16)-1;
    
    IL int check(int state,int i) {
    	RG int j,len;
    	len=strlen(str[i]);
    	for(j=0;j<len-1;j+=2)
    		if(str[i][j]=='+') {
    			if((state>>(str[i][j+1]-'A'))&1) return 1;
    		}
    		else if(!((state>>(str[i][j+1]-'A'))&1)) return 1;
    	return 0;
    }
    
    int main()
    {		
    	RG int i,j,flag;
    	while(scanf("%s",str[++cnt])!=EOF) {
    		if(str[cnt][0]=='.') {
    			for(i=0,ans=-1;i<=Max;++i) {
    				for(j=1,flag=0;j<cnt&&!flag;++j)
    					if(!check(i,j)) flag=1;
    				if(!flag) {ans=i;break;}
    			}
    			if(ans==-1) puts("No pizza can satisfy these requests.");
    			else {
    				printf("Toppings: ");
    				for(i=1;ans;ans>>=1,++i) 
    					if(ans&1) printf("%c",i+'A'-1);
    				putchar('
    ');
    			}
    			cnt=0;
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    NTP服务器
    sublime中文设置
    13、软件定时器
    晶振和CPU周期
    红外通信协议
    KEIL使用时的一些配置
    STM32 的内部 FLASH
    STM32的程序下载
    2、触摸屏
    目录
  • 原文地址:https://www.cnblogs.com/Bhllx/p/10646793.html
Copyright © 2011-2022 走看看