CVTE笔试-序列号加密对问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zh1204190329/article/details/82154283

自定义序列号是0-127中任意一个或多个数字组成的随机整数组,正确的序列号需要满足“加密对”数量大于某个值。
定义:在序列号数组arr中,如果存在正整数i,j,满足0<=i < j < n并且arr[i] > arr[j],那么我们称(arr[i] , arr[j])为一个“加密对”。
例如{3,1,4,6,5,2}的“加密对”为{3,1},{3,2},{4,2},{6,5},{6,2},{5,2}。现在给一个序列号,找出有多少个“加密对”。
测试用例:
输入:3,1,4,6,5,2
输出:6

#include <iostream>
#include <string>
#include <vector>
#include<sstream>

using namespace std;

int main(void) {
    int cnt = 0;
    string raw_data, tmp;
    vector<string> arr;
    getline(cin, raw_data);
    stringstream input(raw_data);

    while (getline(input, tmp, ',')) {
        arr.push_back(tmp);
    }

    for (vector<string>::iterator it = arr.begin(); it != arr.end(); it++) {
        for (vector<string>::iterator p = (it + 1); p != arr.end(); p++) {
            if (*it > *p)
                cnt++;
        }
    }

    cout << cnt << endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/zh1204190329/article/details/82154283
今日推荐