九度OJ1020-最小正方形-判大小
题目1020:最小长方形
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:7410
解决:3521
- 题目描述:
-
给定一系列2维平面点的坐标(x, y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在内。长方形框的边分别平行于x和y坐标轴,点落在边上也算是被框在内。
- 输入:
-
测试输入包含若干测试用例,每个测试用例由一系列坐标组成,每对坐标占一行,其中|x|和|y|小于 231;一对0 坐标标志着一个测试用例的结束。注意(0, 0)不作为任何一个测试用例里面的点。一个没有点的测试用例标志着整个输入的结束。
- 输出:
-
对每个测试用例,在1行内输出2对整数,其间用一个空格隔开。第1对整数是长方形框左下角的坐标,第2对整数是长方形框右上角的坐标。
- 样例输入:
-
12 56
23 56
13 10
0 0
12 34
0 0
0 0
- 样例输出:
-
12 10 23 56
12 34 12 34
- 来源:
- 2007年浙江大学计算机及软件工程研究生机试真题
-
#include <iostream>
#include <stdio.h>
#include <string> using namespace std; int main() {
int a, b, minx, miny, maxx, maxy;
scanf("%d%d", &a, &b);
minx = maxx = a; miny = maxy = b;
bool ter = false;
while(scanf("%d%d", &a, &b)) {
if(a == && b == && ter == false) {
cout << minx << " " << miny << " ";
cout << maxx << " " << maxy << endl;
ter = true;
}
else if(a == && b == && ter == true) {
break;
}
else if(((a != && b != ) || (a == && b != ) || (a != && b == ) ) && ter == true) {
minx = maxx = a; miny = maxy = b;
ter = false;
}
else {
if(a < minx) minx = a;
if(a > maxx) maxx = a;
if(b < miny) miny = b;
if(b > maxy) maxy = b;
ter = false;
}
}
return ; }这道题的原理不难,但是输入输出不是很好解决
下面是参考的代码,很巧妙:
http://blog.csdn.net/ysc504/article/details/8281451
//该题就是求这些点的坐标中的最大最小值
#include <stdio.h>
#include <string.h>
int main ()
{
int x, y, minx, miny, maxx, maxy;
while (~scanf ("%d%d", &x, &y), x||y)
{
minx = x;
maxx = x;
miny = y;
maxy = y;
while (~scanf ("%d%d", &x, &y), x||y)
{
if(x < minx)
minx = x;
if(x > maxx)
maxx = x;
if(y < miny)
miny = y;
if(y > maxy)
maxy = y;
}
printf("%d %d %d %d\n", minx, miny, maxx, maxy);
}
return ;
}
九度OJ1020-最小正方形-判大小的更多相关文章
- 剑指Offer - 九度1371 - 最小的K个数
剑指Offer - 九度1371 - 最小的K个数2013-11-23 15:45 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是 ...
- 九度 1371 最小的K个数
题目描述:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 输入: 每个测试案例包括2行:第一行为2个整数n,k(1<= ...
- 【剑指Offer面试题】 九度OJ1371:最小的K个数
题目链接地址: http://ac.jobdu.com/problem.php?pid=1371 题目1371:最小的K个数 时间限制:1 秒内存限制:32 兆特殊判题:否提交:5938解决:1265 ...
- 九度OJ 1502 最大值最小化(JAVA)
题目1502:最大值最小化(二分答案) 九度OJ Java import java.util.Scanner; public class Main { public static int max(in ...
- 九度OJ 1371 最小的K个数 -- 堆排序
题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...
- 剑指Offer - 九度1504 - 把数组排成最小的数
剑指Offer - 九度1504 - 把数组排成最小的数2014-02-06 00:19 题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输 ...
- 剑指Offer - 九度1386 - 旋转数组的最小数字
剑指Offer - 九度1386 - 旋转数组的最小数字2013-11-24 01:57 题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转 ...
- 【剑指Offer面试编程题】题目1504:把数组排成最小的数--九度OJ
题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 输入: 输 ...
- 【剑指Offer面试编程题】题目1371:最小的K个数--九度OJ
题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 输入: 每个测试案例包括2行: 第一行为2个整数n,k(1< ...
随机推荐
- Java Date实现加一天,年月日类推往后+1,日期+1,月份+1,年份+1
System.out.println("String类型 "+endDate); //页面传递到后台的时间 为String类型 SimpleDateFormat sdf = new ...
- Android--Android Studio 打开ADM报错
Android studio无法打开类似与eclipse的DDMS, 在android studio里点击android device monitor(点击菜单栏里的Tools->Android ...
- Ubuntu下环境变量的设置
远程登录时,不是ssh登陆: xrdp 可以修改并添加 /etc/xrdp/startwm.sh 代码: #!/bin/sh if [ -r /etc/default/locale ]; then ...
- linux的命令:
uname -r linux的版本号 uname -a 显示系统名.节点名称.操作系统的发行版号.操作系统版本.运行系统的机器 ID 号 cd /dev/ 切换到根目录: ls 查看根目录文件
- do_bootrk
1. LMB (logical memory blocks) lmb为uboot下的一种内存管理机制,用于管理镜像的内存.lmb所记录的内存信息最终会传递给kernel.在/include/lmb.h ...
- js 中class选择器,addClass,removeClass,hasClass,toggleClass,getByClass
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...
- mongdb使用
下载mongodb数据库 https://www.mongodb.com/ 根据自己的电脑系统下载相应的版本 安装并且打开你下载的数据库 打开数据库bin文件夹: cd soft/ ...
- 怎样判断JS对象中的属性
// 如何在不访问属性值的情况下判断对象中是否存在这个属性 var obj = { a: 2 }; Object.defineProperty( obj, 'b', // 让 b 不可枚举 { enu ...
- flask项目结构(三)使用蓝图
简介: Flask中的蓝图旨在针对这些情况: 把一个应用分解成一系列的蓝图.对于大型的应用是理想化的:一个项目能实例化一个应用, 初始化一些扩展,以及注册一系列的蓝图. 以一个 URL 前缀和/或子域 ...
- .net core json配置相关用法
在.net core中,配置文件差不多都是json文件.我们在开发程序的时候,可以使用系统默认的appsettings.json,可以自定义json配置文件.当json配置文件里面的参数改变时,程序也 ...