要求每一刀的切割費用只須尋找切割順序( i )小於本身,且切割位置( x )最接近本身的兩刀即可。
使用pair<int, int>
將資料做儲存( first 存 x ,second 存 i ),再將被切的位置由小到大作排列。
AC (0.8s, 3.4MB)
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n, len;
cin>>n>>len;
pair<int, int> d[n];
for(int i=0; i<n; i++) cin>>d[i].first>>d[i].second;
sort(d, d + n);
int ans = 0;
for(int i=0; i<n; i++){
int l = 0, r = len;
for(int j=i-1; j>=0; j--){
if(d[i].second > d[j].second && d[i].first > d[j].first){
l = d[j].first;
break;
}
}
for(int j=i+1; j<n; j++){
if(d[i].second > d[j].second && d[i].first < d[j].first){
r = d[j].first;
break;
}
}
ans += r - l;
}
cout<<ans;
return 0;
}
C++
ZeroJudge
APCS
Uploading file…_iujrjskv8
Jul 3, 2024C語言學習筆記
Jun 11, 2024a417. 螺旋矩陣 (題目連結) 解題思路 :::info 1.填表 用二維陣列儲存資料,由左上角開始填數字,接下來四個 while 分別表示 : 向右、向下、向左、向上,當 i 或 j 超出範圍或目標格已經有值時,跳出迴圈。一直重複直到全部填完。 2.翻轉 若 m==2 將 matrix[i][j] 和matrix[j][i] 全部交換。
Jan 29, 2023花中judge d001. Jumping Array Puzzle (題目連結) BFS作法 AC (90ms, 8.4MB) #include <bits/stdc++.h> using namespace std; #define int long long #define x first
Jul 25, 2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up