寻找平面上的极大点代码
#include<iostream>
#include<algorithm>
using namespace std;
struct node
{int x,y;
}a[101];
bool vis[101];
bool cmp(node A,node B)
{if(A.x!=B.x) return A.x<B.x;return A.y<B.y;
}
int main()
{int n;cin>>n;for(int i=1;i<=n;i++)cin>>a[i].x>>a[i].y;sort(a+1,a+n+1,cmp);for(int i=n;i>=1;i--){for(int j=i-1;j>=1;j--){if(!vis[j]){if(a[i].x>=a[j].x&&a[i].y>=a[j].y){vis[j]=1;}}}}for(int i=1;i<=n-1;i++){if(!vis[i]){cout<<"("<<a[i].x<<","<<a[i].y<<"),";}}cout<<"("<<a[n].x<<","<<a[n].y<<")";return 0;
}
最大连续序列和代码:
#include<iostream>
using namespace std;
int main()
{//最大连续序列和//1000 1 -2 3 -4 5 1003//-1 2 3 -4 5 6//-1 1 4 0 5 前缀和int n,a[100]={0};cin>>n;//输入数列并求前缀和for(int i=1;i<=n;i++){cin>>a[i];a[i]+=a[i-1];}int maxn=a[1];for(int i=1;i<=n;i++){for(int j=0;j<i;j++){int temp=a[i]-a[j];//每一个区间和maxn=max(maxn,temp);}}cout<<maxn<<endl;return 0;
}