Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
29747 | 22级赵奕绚 | 【J】T3 | C++ | 运行出错 | 0 | 0 MS | 256 KB | 820 | 2024-05-26 17:40:32 |
#include<bits/stdc++.h> using namespace std; int MAXX=1000000007; long long n; struct wh{ int x,y; }cpl[2010]; long long ans; long long dp[2010][2010]; bool cmp(wh a,wh b){ return a.y>b.y; } long long a[2010]; int main(){ freopen("c.in","r",stdin); freopen("c.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;i++){ cin >> cpl[i].x >> cpl[i].y; } sort(cpl+1,cpl+n+1,cmp); // for(int i=1;i<=n;i++) cout << cpl[i].x; 调试 for(int i=1;i<=n;i++) a[i]=cpl[i].x; for(int i=1;i<=n;i++){ ans++; for(int j=1;j<i;j++){ dp[i][j]=1;ans++; for(int k=1;k<j;k++){ if((a[i]>a[j]&&a[i]<a[k])||(a[i]<a[j]&&a[i]>a[k])){ ans=(ans+dp[j][k])%MAXX; dp[i][j]=(dp[i][j]+dp[j][k])%MAXX; } } } } printf("%d",ans); return 0; } //a_i>a_i+1<a_i+2>a_i+3…