Advertisement
farsid

Untitled

Apr 13th, 2013
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. #define filer() freopen("f.in","r",stdin)
  2. #define filew() freopen("out.txt","w",stdout)
  3. #include<iostream>
  4. #include<stdio.h>
  5. #include<string.h>
  6. #include<math.h>
  7. #include<algorithm>
  8. #include<queue>
  9. #include<stack>
  10. #include<string>
  11. #include<vector>
  12. #include <map>
  13. #define INF 1<<29
  14. #define PI pair<int,int>
  15.  
  16. #define SET(a, x) memset((a), (x), sizeof(a))
  17. #define pb push_back
  18. #define i64 long long
  19. #define EPS (1e-9)
  20. using namespace std;
  21. typedef vector<int> VI;
  22. typedef vector<PI> vii;
  23. //i64 INF=(i64)((i64)1<<(i64)59);
  24.  
  25. int N;
  26.  
  27. struct node
  28. {
  29. int strt;
  30. int end;
  31. }A[100];
  32. int assign[100];
  33. int cls[100];
  34.  
  35. bool cmp(node a,node b)
  36. {
  37. return a.strt<b.strt;
  38. }
  39.  
  40. int main()
  41. {
  42. freopen("f.in","r",stdin);
  43. int T,x=0,i,j;
  44. scanf("%d",&T);
  45. char strt[10],end[10];
  46. for(i=0;i<T;i++)
  47. {
  48. scanf("%s%s",strt,end);
  49. //cout<<strt<<" "<<end<<endl;
  50. x=0;
  51. for(j=0;j<4;j++)
  52. {
  53. x*=10;
  54. x+=(strt[j]-'0');
  55. }
  56. A[i].strt=x;
  57. x=0;
  58. for(j=0;j<4;j++)
  59. {
  60. x*=10;
  61. x+=(end[j]-'0');
  62. }
  63. A[i].end=x;
  64.  
  65. }
  66.  
  67. sort(A,A+T,cmp);
  68. //cout<<A[0].strt<<" "<<A[0].end<<endl;
  69. for(i=0;i<T;i++)cout<<A[i].strt<<" "<<A[i].end<<endl;
  70. int mx=-1;
  71. //SET(cls,1);
  72. cls[0]=0;
  73. for(i=0;i<T;i++)
  74. {
  75. x=0;
  76. for(j=0;j<i;j++)
  77. {
  78. //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))
  79. if(A[j].end>A[i].strt)
  80. {
  81. assign[cls[j]]=i;
  82. x++;
  83. }
  84. }
  85. mx=max(x,mx);
  86. for(j=0;j<=mx;j++)
  87. {
  88. if(assign[j]!=i)
  89. {
  90. cls[i]=j;
  91. //cout<<j<<endl;
  92. break;
  93. }
  94. }
  95. cout<<cls[i]+1<<endl;
  96.  
  97. //cout<<x<<endl;
  98.  
  99. }
  100. cout<<mx+1<<endl;
  101.  
  102.  
  103. return 0;
  104. }
  105. /*
  106. Test Case:
  107.  
  108. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement