蛮力法找假金币

简介:
#include <iostream>
using namespace std;

bool notFalseGold(int i, int *num, char op)
{
    bool found = false;
    for (int j = 1; j <= num[0] * 2; j++)
    {
        if (num[j] == i)
        {
            found = true;
            break;
        }
    }
    if (found && op == '=' || !found && op != '=' )
        return false;
    else
        return true;
}
int main()
{
    int number[101][1001];//行表示编号,列表示数据
    char op[101];         //对比的结果:< > =这三种
    int n, k;

    cin >> n >> k;
    for (int i = 0; i < k; i++)
    {
        cin >> number[i][0];//0号存两边的砝码个数
        for (int j = 1; j <= number[i][0] * 2; j++)
        {
            cin >> number[i][j];
        }
        cin.get();//吸收回车符
        cin >> op[i];//读取比较的结果
    }

    int t, i, no;
    for (t = 0, i = 1; i <= n; i++)
    {
        int j;
        for (j = 0; j < k && notFalseGold(i, number[i], op[j]); j++)
        {
            ;//此处只是分号
        }
        if (j < k)
            continue;
        t ++; //可能的假金币加1
        if (t > 1)
            break;//如果存在多个假的,那就不符合条件
        else
            no = i;//记下假金币的编号
    }
    if (t == 1)
    {
        cout << no << endl;
    }
    else
    {
        cout << 0 << endl;
    }
    return 0;
}

目录
相关文章
|
15天前
|
测试技术 C++
判断晨曦酒庄的酒桶能否恰好装满给定的葡萄酒
晨曦酒庄有 n 个酒桶,容量分别是从 1 到 n(升),他可以从中任意挑选 k 个酒桶,并且每个酒桶必须恰好装满。 现在迪卢克准备了 x 升葡萄酒,判断能否用 k 个酒桶装满。
16 1
|
3月前
代码随想录Day29 贪心04 LeetCode T860 柠檬水找零 T406 根据身高重建队列 T452 用最少得箭引爆气球
代码随想录Day29 贪心04 LeetCode T860 柠檬水找零 T406 根据身高重建队列 T452 用最少得箭引爆气球
25 0
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
【每周一坑】三国演义中谁的存在感最强 +【解答】暴力计算圆周率
当然,精确统计是比较复杂的,比如同样是刘备,可以是 刘备、玄德、刘豫州、刘皇叔、使君、先主、备,而同样的 主公、丞相、将军 这些称谓在不同语境下指的又是不同的人。这里我们就只粗略算个大概即可,统计哪些个名字出现次数最多。你可以尽量让结果更接近实际值。
|
4月前
|
机器学习/深度学习
蓝桥杯-2/14天-货物摆放【拒绝暴力-巧妙提公因子】
蓝桥杯-2/14天-货物摆放【拒绝暴力-巧妙提公因子】
|
5月前
|
C语言
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
47 0
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
|
9月前
|
数据采集 数据挖掘 Python
【每周一坑】验证哥德巴赫猜想
尽管对于大多数人来说,无法看懂哥德巴赫猜想及相关问题的证明。不过我们借助计算机,可以快速地判断一个数是否符合哥德巴赫猜想。(只需在判断质数的代码基础上加上两三行。)
|
11月前
|
算法 C++
【每日算法Day 98】慈善赌神godweiyang教你算骰子点数概率!
【每日算法Day 98】慈善赌神godweiyang教你算骰子点数概率!
|
算法 C语言
假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。
(2)当n为奇数时,将前后两部分,即1…n,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;若两端重量相等,则中间的硬币,即第 (n+1)/2枚硬币是假币。n,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。:因为30位偶数,所以至少要被分一次,然后成为奇数之后,那个假币就是奇数的中位数,所以只需要2次。若输入的硬币数为30,则最少的比较次数为(2),最多的比价次数为(4)。
355 0
刷爆力扣之矩阵中的幻方
刷爆力扣之矩阵中的幻方
刷爆力扣之矩阵中的幻方