zoukankan      html  css  js  c++  java
  • CodeForces

    请你找出两个编号不同的数列,并从这两个数列中各恰好删除一个数,使得这两个数列的和相等。

    用vector存每一个数

    用map标记

    即可

    #include <bits/stdc++.h>
    using namespace std;
    const int maxn = 200005, INF = 0x7fffffff;
    typedef long long LL;
    vector<LL> G[maxn]; //存储每一行的所有元素
    map<LL, int> vis;   //标记去掉某一个元素的sum是否出现
    map<LL, int> x;     //标记行
    map<LL, int> y;     //标记列
    
    int main()
    {
        int k, flag = 0;
        cin>> k;
        for(int i=0; i<k; i++)
        {
            int n, num;
            LL sum = 0;
            cin>> n;
            for(int j=0; j<n; j++)
            {
                cin>> num;
                sum += num;
                G[i].push_back(num);
            }
            if(!flag)
                for(int j=0; j<n; j++)
                {
                    LL temp = sum - G[i][j];
                    if(vis[temp])
                        if(x[temp] == i+1) continue;
                        else
                        {
                            cout<< "YES" <<endl;
                            cout<< x[temp] << " " << y[temp] <<endl;
                            cout<< i+1 << " " << j+1 <<endl;
                            flag = 1;
                            break;
                        }
                    else
                    {
                        vis[temp] = 1;
                        x[temp] = i+1;
                        y[temp] = j+1;
                    }
                }
        }
        if(!flag) cout<< "NO" <<endl;
    
    
    
        return 0;
    }
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    xgboost
    GBDT 梯度提升决策树简述
    minimal pairs
    Describe your hometown
    英语短句
    英汉翻译
    英语音译词
    power的读音
    英语口语(英语词根与单词的说文解字(李平武 2008版)读书笔记)
    Jar包转成Dll的方式(带嵌套的jar也能做)
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/9530441.html
Copyright © 2011-2022 走看看