1105 平台(空间)

news/2024/7/15 19:32:06 标签: c++, 算法, 图论

1105 平台

这是一个区间性的问题,我很害怕这样的问题,
我对这种东西没思路
看输入,一个高度,然后是两个结尾的左右端点
就是一个很简单的模拟,两个线段的输出而已
还得注意,输出的是什么呢?
那么如果球从最上面的平台i,球从左边掉下来,只要判断它下一个(需要我们自己模拟)j的左沿是否小于等于最上面的左沿
至于为什么这就是一个常识,需要接住这个球
j的右沿是否大于等于1的左沿,如果是如此,就找到答案,输出即可
同样,要使从最上面的右边掉下来,一样,只不过反过来了
为什么左和左比,右边还要和右比?
-------------i
-----------------j
这样,j的左小于i的左,j的右边大于i的左
所以能接住

可是如果j的左不小于i的左呢
-------------i
-----------------j
这样肯定就肯定调不到
那j的左小于i的左,可是j的右不大于i的左呢?
也就是这种情况,我们之分析了一个,也就是左边的,再分析一下右边就好了,同理的一个
-------------i
-----------------j

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring>
#include<cmath> 
using namespace std;
const int SIZE=1005;
int n; 
int a[SIZE],b[SIZE],c[SIZE];
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i]>>b[i]>>c[i];//左右端点还有一个高度 
    for(int i=1;i<=n;i++)
    {
    	int t=0,s=0;//两个变量 
        for(int j=1;j<=n;j++)
            if(a[i]>a[j]&&b[i]>b[j]&&b[i]<c[j])
                if(a[t]<a[j])
                    t=j;
        cout<<t;
		cout<<" ";
        for(int j=1;j<=n;j++)
            if(a[i]>a[j]&&c[i]>b[j]&&c[i]<c[j])//两个判断 
                if(a[s]<a[j])
                    s=j;
        cout<<s<<endl;
    }
    return 0;
}

http://www.niftyadmin.cn/n/848825.html

相关文章

【转】C++调试技巧

自己总是用VC平台来开发东西&#xff0c;但是有时候总是出这样那样的问题&#xff0c;在这里把Visual C开发工具与调试技巧整理摘录如下&#xff0c;希望对大家有用&#xff0c;省去大家再去搜索的烦恼。 1.如何在Release状态下进行调试 Project->Setting>ProjectSetting…

1069. 产品销售分析 II

# Write your MySQL query statement below select product_id , sum(quantity) as total_quantity from Sales group by product_id 销售表&#xff1a;Sales -------------------- | Column Name | Type | -------------------- | sale_id | int | | product_id | …

WIFI的MAC地址不合法导致无法连接AP

新的3.0的板子上wifi能搜到很多AP但是一个都连不上&#xff0c;折腾了两天&#xff0c;开始怀疑我修改的代码有问题&#xff0c;后来经过老大仔细检查&#xff0c;排除。然后又怀疑信号不 好&#xff0c;似乎有那么点儿可能性&#xff0c;可是不能重现&#xff0c;似乎不是很稳…

Docbook简介

编写技术文档&#xff0c;我想谁都遇到过。很多人都用MS Word&#xff0c;不可否认Word的功能确实非常强大&#xff0c;但是用Word有一些缺点无法避免&#xff1a; 1) 写文档的时候&#xff0c;不得不兼顾文档的格式&#xff0c;这是件很头痛的事情&#xff0c;至少对我来说。…

QString中数字的使用

1 从Qstring中提取数字 当QString中以特定的分隔(spliter)存储了多个数字时&#xff0c;参考资料[1]说明了一个很好的提取其中的数字的方法。例如 double x, y, z; QString str "1,2,3"; QStringList xyz seed.split(","); x xyz.at(0).toDouble(); y …

Java 之文件IO编程 之写入

package com.sun; /** 操作对文件IO的写* 2014-08-10*/ import java.io.*; public class File_Write {public static void main(String[] args) {// TODO Auto-generated method stubFileOutputStream fosnull;//创建一个文件对象File file_writer new File ("d:\\bb.tx…

linux中改变文件的所有者和组

linux中改变文件的所有者和组 chown user.group file 比如将adb.txt 的属性改为system组的system用户 chown system.system abc.txt

1104 生日

1104 生日 很简单的排序啊&#xff0c;根本不需要脑子&#xff0c;年 月 日 编号 相互比较就好了 #include<cstdio> #include<cmath> #include<string> #include<cstring> #include<iostream> using namespace std; int year[105],month[105],…