"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场

Combine String

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
#include<vector>
#include<map>
using namespace std;
typedef unsigned long long LL;
#define met(a,b) (memset(a,b,sizeof(a)))
const int INF = 1e9+7;
const int N = 2100;
const int MOD = 9973;

int dp[N][N];

int main()
{
    char s1[N], s2[N], s[N*2];

    while(scanf("%s%s%s", s1+1, s2+1, s+1)!=EOF)
    {
        int len1=strlen(s1+1), len2=strlen(s2+1), i, j;
        int len = strlen(s+1);

        ///printf("%d %d %d\n", len1, len2, len);

        if(len1+len2!=len)
        {
            printf("No\n");
            continue;
        }

        met(dp, 0);
        dp[0][0] = 1;
        for(i=0; i<=len1; i++)
        for(j=0; j<=len2; j++)
        {
            if(i==0 && j==0) continue;
            if(s1[i]==s[i+j] && dp[i-1][j] && !dp[i][j])
                dp[i][j] = dp[i-1][j];
            if(s2[j]==s[i+j] && dp[i][j-1] && !dp[i][j])
                dp[i][j] = dp[i][j-1];
        }

        /**
        for(i=0; i<=len1; i++)
        for(j=0; j<=len2; j++)
        {
            printf("%d%c", dp[i][j], j==len2?‘\n‘:‘ ‘);
        }

        */

        if(dp[len1][len2]) printf("Yes\n");
        else   printf("No\n");
    }
    return 0;
}

时间: 2025-01-01 09:00:31

"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场的相关文章

&quot;巴卡斯杯&quot; 中国大学生程序设计竞赛 - 女生专场(重现)解题思路

此文章可以使用目录功能哟↑(点击上方[+]) 经过这么一次女生赛,告诉我们千万不要小瞧女生,不然会死得很惨,orz... 链接→"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场(重现)  Problem 1001 Solving Order Accept: 0    Submit: 0 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit : 32768/32768 K (Java/Others)  Problem Descri

2017中国大学生程序设计竞赛 - 女生专场(dp)

Building Shops Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 701 Accepted Submission(s): 265 Problem Description HDU's n classrooms are on a line ,which can be considered as a number line. Eac

2017中国大学生程序设计竞赛 - 女生专场 Happy Necklace(递推+矩阵快速幂)

Happy Necklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1146    Accepted Submission(s): 491 Problem Description Little Q wants to buy a necklace for his girlfriend. Necklaces are single

2017中国大学生程序设计竞赛 - 女生专场 Deleting Edges(思维+最短路)

Deleting Edges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 567    Accepted Submission(s): 210 Problem Description Little Q is crazy about graph theory, and now he creates a game about grap

&quot;字节跳动杯&quot;2018中国大学生程序设计竞赛-女生专场 Solution

A - 口算训练 题意:询问 $[L, R]$区间内 的所有数的乘积是否是D的倍数 思路:考虑分解质因数 显然,一个数$x > \sqrt{x} 的质因子只有一个$ 那么我们考虑将小于$\sqrt {x}$ 的质因子用线段树维护 其他质因子用vector 维护存在性 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 #define N 100010 5 #define block 317 6 vector <int>

HDU 6024(中国大学生程序设计竞赛女生专场1002)

这是CCPC女生专场的一道dp题.大佬们都说它简单,我并没有感到它有多简单. 先说一下题意:在一条直线上,有n个教室,现在我要在这些教室里从左到右地建设一些作为糖果屋,每个教室都有自己的坐标xi 和建造糖果屋的费用ci , 如果在这里建造一个糖果屋,那么花费ci ,如果不建造糖果屋,则花费是当前教室的坐标与左边最靠近当前教室的糖果屋坐标之差,问最小花费. 一看这是个求最优解的问题,应该明白这是个dp问题,现在来考虑该问题状态的定义: 当我建设到第i个教室的时候,我有两种选择,建糖果屋或者不建糖果

2017中国大学生程序设计竞赛 - 女生专场(重现)

A.Automatic Judge(模拟) Problem Description Welcome to HDU to take part in the second CCPC girls’ competition!A new automatic judge system is used for this competition. During the five-hour contest time, you can submit your code to the system, then the

2017中国大学生程序设计竞赛 - 女生专场 1002 dp

Building Shops Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 0    Accepted Submission(s): 0 Problem Description HDU’s n classrooms are on a line ,which can be considered as a number line. Ea

2018 年“三盟科技杯”中国大学生程序设计竞赛(湖南)

2018 年"三盟科技杯"中国大学生程序设计竞赛(湖南) A. Easy h-index 题目描述:给出一个数组\(a_i\),求最大的\(h\),使得至少有\(h\)个数不少于\(h\). solution 模拟. 时间复杂度:\(O(nlogn)\) B. Higher h-index 题目描述:写论文,当一份论文花费了\(x\)小时时,这份论文会得到\(ax\)个引用,\(a\)是给定的常数,\(x\)必须为正整数,每份论文都可以被之后自己写的论文引用,现在有\(n\)个小时写论