【九度OJ】题目1170:找最小数 解题报告

【九度OJ】题目1170:找最小数 解题报告

标签(空格分隔): 九度OJ


http://ac.jobdu.com/problem.php?pid=1170

题目描述:

第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。

输入:

输入有多组数据。
每组输入n,然后输入n个整数对。

输出:

输出最小的整数对。

样例输入:

5  
3 3  
2 2  
5 5  
2 1  
3 6

样例输出:

2 1

Ways

第一感觉和前面的那个复数比较差不多,可是我想没必要那么做,把这个题当做是动态规划就好了。

a,b一直保存最小的值,再比较输入的值的大小进行判断就好。

技巧:a = 0x7fffffff保存最大整数。

#include<stdio.h>

int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        int a = 0x7fffffff, b = 0x7fffffff;
        int aTemp,bTemp;
        while(n--){
            scanf("%d%d", &aTemp, &bTemp);
            if(a > aTemp){
                a = aTemp;
                b = bTemp;
            }else if(a == aTemp && b > bTemp){
                b = bTemp;
            }
        }
        printf("%d %d\n", a , b);
    }
    return 0;
}

Date

2017 年 3 月 17 日

posted @ 2017-03-17 16:20  负雪明烛  阅读(23)  评论(0编辑  收藏  举报