zoukankan      html  css  js  c++  java
  • P4290 [HAOI2008]玩具取名

    这就是码力的差距,会但是写不出来!!

    之后我忘提交了,然后90,当我没说
    这还是码力的差距哇!!!

    我的90

    #include <cmath>
    #include <queue>
    #include <cstdio>
    #include <vector>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #define ll long long
    using namespace std;
    
    const int A = 1e7+10;
    const int B = 1e3+10;
    const int mod = 1e9 + 7;
    const int inf = 0x3f3f3f3f;
    
    inline int read() {
      char c = getchar();
      int x = 0, f = 1;
      for ( ; !isdigit(c); c = getchar()) if (c == '-') f = -1;
      for ( ; isdigit(c); c = getchar()) x = x * 10 + (c ^ 48);
      return x * f;
    }
    int q[B];
    int f[B][B][100];
    char cc[5]={'Q','W','I','N','G'};
    struct node{char a;char b;}p[5][B],W[B],I[B],N[B],G[B];
    char s[B];
    int main()
    {
    	for (int i=1;i<=4;i++) q[i]=read();
    	for (int j=1;j<=4;j++)
    	for (int i=1;i<=q[j];i++)
    	{	
    		char ss[5];
    		scanf("%s",ss);
    		p[j][i].a=ss[0],p[j][i].b=ss[1];
    	}
    	cin>>s+1;	
    	int n=strlen(s+1);
    	for (int i=1;i<=n;i++) f[i][i][s[i]-'A'+1]=1;
    	for (int len=2;len<=n;len++)
    		for (int l=1;l+len-1<=n;l++)
    	 	{
    		 	int r=l+len-1;
    		 	for (int c=1;c<=4;c++)
    		 	{
    		 		for (int i=1;i<=q[c];i++)
    		 		{
    					for (int k=l;k<=r;k++)
    		 			{	
    						if(f[l][k][p[c][i].a-'A'+1] && f[k+1][r][p[c][i].b-'A'+1])		
    						f[l][r][cc[c]-'A'+1]=1;
    					}
    				}
    			}	
    		 }
    	for (int i=1;i<=4;i++) if(f[1][n][cc[i]-'A'+1]) cout<<cc[i];
    	return 0;
    }
    
    
    
    

    我抄的,区间DP是我的

    #include <cmath>
    #include <queue>
    #include <cstdio>
    #include <vector>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #define ll long long
    using namespace std;
    
    const int A = 1e7+10;
    const int B = 1e3+10;
    const int mod = 1e9 + 7;
    const int inf = 0x3f3f3f3f;
    
    inline int read() {
      char c = getchar();
      int x = 0, f = 1;
      for ( ; !isdigit(c); c = getchar()) if (c == '-') f = -1;
      for ( ; isdigit(c); c = getchar()) x = x * 10 + (c ^ 48);
      return x * f;
    }
    
    int num[B],p[B*2][3],f[B][B][5];
    char s[210];
    int check(char i)
    {
    	if (i=='W') return 1;
    	if (i=='I') return 2;
    	if (i=='N') return 3;
    	if (i=='G') return 4;
    }
    
    int main()
    {
    	int tot=0;
    	for (int i=1;i<=4;i++) num[i]=read();
    	for (int i=1;i<=4;i++)
    	{
    		for (int j=1;j<=num[i];j++)
    		{
    			char ss[5];
    			scanf("%s",ss);
    			p[++tot][0]=i;
    			p[tot][1]=check(ss[0]);
    			p[tot][2]=check(ss[1]);
    		}
    		getchar();
    	}
    	gets(s+1);
    	int len=strlen(s+1);
    	for (int i=1;i<=len;i++) f[i][i][check(s[i])]=1;
    	for (int l=2;l<=len;l++)
    		for (int i=1;i+l-1<=len;i++)
    		{
    			int j=i+l-1;
    			for (int k=i;k<j;k++)
    				for (int c=1;c<=tot;c++)
    				{
    					if (f[i][k][p[c][1]] && f[k+1][j][p[c][2]])
    					f[i][j][p[c][0]]=1;
    					//printf("%d
    ",f[i][j][p[c][0]]);
    				}
    		} 
    //		for(register int i=len;i>0;--i)  
    //    	for(register int j=i+1;j<=len;++j)  
    //    		for(register int k=i;k<j;++k)  
    //    			for(register int l=1;l<=tot;++l)   
    //						if (f[i][k][p[l][1]] && f[k+1][j][p[l][2]])
    //					f[i][j][p[l][0]]=1;
    	int flag=0;
    	for (int i=1;i<=4;i++)
    	{
    		if(f[1][len][i])
    		{
    			flag=1;
    			if (i==1) printf("W");
    			if (i==2) printf("I");
    			if (i==3) printf("N");
    			if (i==4) printf("G");
    		}
    	}
    	if (!flag) printf("The name is wrong!");
    	return 0;
    }
    
  • 相关阅读:
    Json对象与Json字符串互转(4种转换方式)
    Web.config配置文件详解
    jQuery BlockUI Plugin Demo 6(Options)
    jQuery BlockUI Plugin Demo 5(Simple Modal Dialog Example)
    jQuery BlockUI Plugin Demo 4(Element Blocking Examples)
    jQuery BlockUI Plugin Demo 3(Page Blocking Examples)
    jQuery BlockUI Plugin Demo 2
    <configSections> 位置引起的错误
    关于jQuery的cookies插件2.2.0版设置过期时间的说明
    jQuery插件—获取URL参数
  • 原文地址:https://www.cnblogs.com/lToZvTe/p/14586187.html
Copyright © 2011-2022 走看看