zoukankan      html  css  js  c++  java
  • 抗击疫情 从我做起 训练赛三

    C: 组合数

    题目描述
    从 1 到 N 的整数中挑选一些数,组成集合的方案数是可算的。如果加上 M 个限制:某 2 个数不能 同时选又要怎样计算?
    输入
    第一行包含 2 个整数 N 和 M,1≤N≤20,1≤M≤400。
    下面 M 行,每行 2 个不同的整数 a 和 b 表示这 2 个数不能同时选。1≤a,b≤N,有些限制可能出现多次。

    输出
    一个整数。
    样例输入
    【样例1】
    3 2
    1 2
    2 3
    【样例2】
    3 3
    1 2
    1 3
    2 3
    样例输出
    【样例1】
    5
    【样例2】
    4

    #include <bits/stdc++.h>
    
    #define x first
    #define y second
    using namespace std;
    pair<int, int>mp[500];
    int n, m, ans;
    
    signed main(){
        ios::sync_with_stdio(0);
        cin >> n >> m;
        for (int i = 0;i < m; i++) cin >> mp[i].x >> mp[i].y;
        for (int i = 0;i < 1 << n; i++){
            bool flag = true;
            for (int j = 0;j < m; j++){
                if ((i >> (mp[j].x - 1) & 1)&& ((i >> (mp[j].y - 1)) & 1)){
                    flag = false;
                    break;
                }
            }
            ans += flag;
        }
        cout << ans << endl;
        return 0;
    }
    View Code

    D: 单词谜

    题目描述
    有一种英文字谜游戏,一开始创作者选一个称为“根”的单词 R,然后可能多次打乱 R,连接到 R 单 词后面。例如:bbabababb,是根单词 bba,与乱序单词 bab、abb 连接组成。
    字谜参加者要面对一个字符串,找出最短的“根”单词。如果找不到输出-1。

    输入
    第 1 行:长度不超过 100,000 的小写英文字母组成的字符串。
    输出
    最短的根单词(是输入字符串的前缀)。如果找不到根单词,输出-1。
    样例输入
    【样例1】
    aaaa
    【样例2】
    ab
    【样例3】
    bbabab
    样例输出
    【样例1】
    a
    【样例2】
    -1
    【样例3】
    bba

    #include <bits/stdc++.h>
    
    using namespace std;
    string str1, str2, s;
    
    signed main(){
        ios::sync_with_stdio(0);
        cin >> s;
        for (int i = 1;i < s.size(); i++){
    
            if (s.size() % i == 0){
                str1 = "";
                bool flag = 1;
                for (int j = 0;j < i; j++)    str1 += s[j];
                sort(str1.begin(), str1.end());
    
                for (int j = 0;j < s.size(); j += i){
                    str2 = "";
                    for (int k = j;k < j + i; k++)
                        str2 += s[k];
                    sort(str2.begin(), str2.end());
                    if (str2 != str1){
                        flag = 0;
                        break;
                    }
                }
                if (flag){
                    for (int j = 0;j < i; j++)    cout << s[j];
                    return 0;
                }
            }
        }
        cout << "-1" << endl;
        return 0;
    }
    View Code
  • 相关阅读:
    Java的接口及实例
    卷积函数的参数为Conv2d(in_channels, out_channels, kernel_size, stride, padding, ...),一般关心这5个参数即可
    torch.randn和torch.rand的区别
    Pytorch 里 nn.AdaptiveAvgPool2d(output_size) 原理是什么?
    Python中*args、**args到底是什么、有啥区别、怎么用
    padding输入值是tuple数组,其含义是
    矩阵/图像边长经过卷积操作后的尺寸计算方法:
    CIFAR-10 数据集
    vgg code
    Epoch、Iteration、Batchsize
  • 原文地址:https://www.cnblogs.com/xcfxcf/p/12301573.html
Copyright © 2011-2022 走看看