Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define filer() freopen("f.in","r",stdin)
- #define filew() freopen("out.txt","w",stdout)
- #include<iostream>
- #include<stdio.h>
- #include<string.h>
- #include<math.h>
- #include<algorithm>
- #include<queue>
- #include<stack>
- #include<string>
- #include<vector>
- #include <map>
- #define INF 1<<29
- #define PI pair<int,int>
- #define SET(a, x) memset((a), (x), sizeof(a))
- #define pb push_back
- #define i64 long long
- #define EPS (1e-9)
- using namespace std;
- typedef vector<int> VI;
- typedef vector<PI> vii;
- //i64 INF=(i64)((i64)1<<(i64)59);
- int N;
- struct node
- {
- int strt;
- int end;
- }A[100];
- int assign[100];
- int cls[100];
- bool cmp(node a,node b)
- {
- return a.strt<b.strt;
- }
- int main()
- {
- freopen("f.in","r",stdin);
- int T,x=0,i,j;
- scanf("%d",&T);
- char strt[10],end[10];
- for(i=0;i<T;i++)
- {
- scanf("%s%s",strt,end);
- //cout<<strt<<" "<<end<<endl;
- x=0;
- for(j=0;j<4;j++)
- {
- x*=10;
- x+=(strt[j]-'0');
- }
- A[i].strt=x;
- x=0;
- for(j=0;j<4;j++)
- {
- x*=10;
- x+=(end[j]-'0');
- }
- A[i].end=x;
- }
- sort(A,A+T,cmp);
- //cout<<A[0].strt<<" "<<A[0].end<<endl;
- for(i=0;i<T;i++)cout<<A[i].strt<<" "<<A[i].end<<endl;
- int mx=-1;
- //SET(cls,1);
- cls[0]=0;
- for(i=0;i<T;i++)
- {
- x=0;
- for(j=0;j<i;j++)
- {
- //if((A[j].strt>A[i].strt && A[j].strt<A[i].end)||(A[j].end>A[i].strt && A[j].end<A[i].end))
- if(A[j].end>A[i].strt)
- {
- assign[cls[j]]=i;
- x++;
- }
- }
- mx=max(x,mx);
- for(j=0;j<=mx;j++)
- {
- if(assign[j]!=i)
- {
- cls[i]=j;
- //cout<<j<<endl;
- break;
- }
- }
- cout<<cls[i]+1<<endl;
- //cout<<x<<endl;
- }
- cout<<mx+1<<endl;
- return 0;
- }
- /*
- Test Case:
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement