8 solutions
-
-1
分析: 创建一个集合结构体,储存开始时间与结束时间。将结构体进行从小到大进行排序,然后将第一次结束时间拿出来,从第二个元素开始循环比较,如果开始时间大于结束时间就++,更新结束时间 代码: #include #include #include using namespace std; struct set{ int s; int f; bool operator<(const set &rhs)const{ return f<rhs.f; } }; int main() { int n; set a[1005]; memset(a,0,sizeof(a)); scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d%d",&a[i].s,&a[i].f); } sort(a+1,a+1+n); int ans=1; int cnt=a[1].f; for(int i=2;i<=n;i++) { if(a[i].s>=cnt) { ans++; cnt=a[i].f; } } printf("%d",ans); return 0; }
Information
- ID
- 91
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 6
- Tags
- # Submissions
- 201
- Accepted
- 61
- Uploaded By