版权声明:版权归原作者CangyeChen所有,未经原作者允许不得转载本文内容,否则将视为侵权,转载或者引用本文内容请注明来源及原作者,对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等 https://blog.csdn.net/CANGYE0504/article/details/89319275
对于一些程序要求输入大量的数据,手动一个一个输入极其不方便,好的方法就是事先存在文件中,然后让程序自己读取,输出成文件txt方便直观比较。
主要方式是在程序第一行定义:
#define LOCAL
然后 在读取数据之前定义:
#ifdef LOCAL
freopen("看电视.in","r",stdin);
freopen("看电视.out","w",stdout);
#endif
真正提交时候删除首行的
#define LOCAL
即可。
别看这玩意有点麻烦,在真正的算法设计考试比如PAT考试,或者一些竞赛中,这种方法会省下你大量时间!可以说必须要学习!算法设计就是抢时间!
#define LOCAL
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = 101;
struct jm{
int x;
int y;
}I[maxn];
bool cmp(jm a,jm b)
{
if(a.x!=b.x)
return a.x>b.x;
return a.y<b.y;
}
int main()
{
//以下是调试的文件读取方式,在真正提交时候删除文件第一行的#define LOCAL即可
#ifdef LOCAL
freopen("看电视.in","r",stdin);
freopen("看电视.out","w",stdout);
#endif
int n,t;
while(scanf("%d",&n)==1){
if(!n) break;
for(int i=0;i<n;i++)
{
scanf("%d%d",&I[i].x,&I[i].y);
}
sort(I,I+n,cmp);
int num=1,temp=I[0].x;
for(int j=0;j<n;j++)
{
if(I[j].y<=temp)
{
temp = I[j].x;
num++;
}
}
printf("%d\n",num);
}
// fclose(stdin);
// fclose(stdout);
return 0;
}