求助
查看原帖
求助
152652
AndyChen2005121楼主2020/10/19 18:20
#include <iostream>
#include <algorithm>
using namespace std;
int n;
struct plane{
    int x1, x2, y;
} board[105];
bool cmp(plane a, plane b){
    return a.y > b.y;
}
int main(){
    cin >> n;
    for(int i = 0; i < n;i++){
        cin >> board[i].y >> board[i].x1 >> board[i].x2;
    }
    board[n].y=0;
    board[n].x1 = -0x3f3f3f3f;
    board[n].x2 = 0x3f3f3f3f;
    sort(board, board+n+1, cmp);
    int ans = 0;
    for(int i = 0; i < n;i++){
        for(int j = i; j <= n; j++){
            if(board[j].y < board[i].y && board[i].x1 > board[j].x1 && board[i].x1 < board[j].x2){
                ans+= board[i].y - board[j].y;
                break;
            }
        }
        for(int j = i; j <= n; j++){
            if(board[j].y < board[i].y && board[i].x2 > board[j].x1 && board[i].x2 < board[j].x2){
                ans+= board[i].y - board[j].y;
                break;
            }
        }
    }
    cout << ans << endl;
}
2020/10/19 18:20
加载中...