HDOJ 2019 数列有序!

#include<vector>
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;

bool cmp(int a, int b) {
    return a < b;
}

bool cmp2(int a, int b) {
    return a > b;
}

int main() {
    int n, m;
    while (cin >> n && cin >> m && (n != 0 && m != 0)) {
        vector<int> ans;
        int t;
        while (n--) {
            cin >> t;
            ans.push_back(t);
        }
        ans.push_back(m);
        if (ans[0] > ans[1]) {
            sort(ans.begin(), ans.end(), cmp2);
        }
        else {
            sort(ans.begin(), ans.end(), cmp);
        }
        for (auto it = ans.begin();it != ans.end();it++) {
            if (it == ans.begin()) cout << *it;
            else cout << " " << *it;
        }
        cout << endl;
    }

    return 0;
}

有个坑点,题目中的有序没说是降序还是升序!

原文地址:https://www.cnblogs.com/Mered1th/p/10585875.html

时间: 2024-08-29 17:01:21

HDOJ 2019 数列有序!的相关文章

杭电 2019 数列有序!

http://acm.hdu.edu.cn/showproblem.php?pid=2019 数列有序! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 44844    Accepted Submission(s): 19451 Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给

HDU 2019 数列有序!

Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u   Java class name: Main [Submit] [Status] [Discuss] Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序. Input 输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是

杭电2019 数列有序!(STL解法)

由于这题对于学过数据结构的我来说,真的是很简单,为了减少时间上的损失,链表无疑是最好的选择(因为数组要往后移位子).然后,因为最近想玩些STL的骚操作,所以就用<list>了,然后顺便学了下迭代器的用法,其原理其实和指针差不多,就是比指针安全.然后,在a题的过程中发现指针的+-还是有些问题的,所以,就用数值代替了.闲话不多说,奉上ac代码: #include <iostream> #include<math.h> #include <iomanip> #in

hdu 2019 数列有序!

这是去年用来训练编码能力的一道水题,最近学了链表就重新写了一下这题,对指针不熟悉唉,指来指去,人都晕了 #include<iostream> #include<malloc.h> using namespace std; struct stu { int vaule; stu* next; }; int main() { int n,m; while(cin>>n>>m&&n&&m) { stu *root=(stu*)mal

hdoj-2019 数列有序!【水】

数列有序! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 59240    Accepted Submission(s): 25564 Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序. Input 输入数据包含多个测试实例

HDU2019 数列有序!

问题链接:HDU2019 数列有序!.入门训练题,用C语言编写程序. 也许对于本题,会考虑用插入排序来做,那就有点绕远了.只要做排序就有可能可能做数据交换,处理时间就长了. 可以考虑输入的n个数据先存放在数组中,再输出. 各种方案中,一边输入数据,一边输出数据,并且在适当位置输出m的做法,应该是优选方案.因为这样做,省去了数组,没有使用额外空间. AC程序如下(正解): /* HDU2019 数列有序! */ #include <stdio.h> int main(void) { int n,

hdu 2018 数列有序!(java)

问题: 再插入数字时,没有中断循环,导致从输入数处再次循环,如下错误结果: 3 3 1 2 4 1 2 3 3 4 3 1 2 4 5 1 2 3 3 4 当循环完成后记得中断: 数列有序! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 57301    Accepted Submission(s): 24693 Problem De

1933: 数列有序!

1933: 数列有序! Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 130  Solved: 50[Submit][Status][Web Board] Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数m,请将该数插入到序列中,并使新的序列仍然有序. Input 输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列.n和m同时为0标示输入数据的结束,本行不做处

hdu 2018(母牛问题)2019(数列有序!)2020(绝对值排序 )2021(发工资)2022(海选女主角)

要发现它的规律,题n年牛的总数等于n-1年的母牛数加上第n年新增的母牛数,第n年只有n-3年的那些母牛才能产母牛,所以第n年的母牛数等于第n-1和n-3年的母牛数的和,即sum(n)=sum(n-1)+sum(n-3),可用递归来做 1 #include<cstdio> 2 #include<cmath> 3 #include<string.h> 4 #include<iostream> 5 #include<algorithm> 6 using