题目:http://acm.hdu.edu.cn/showproblem.php?pid=4509
#include <iostream> using namespace std; #define MAX_NUMBER (24*60) int main() { int hash_table[MAX_NUMBER+1]; int n,hh,mm; int temp_begin,temp_end; int i; while(scanf("%d",&n)!=EOF) { int k =0; memset(hash_table,-1,sizeof(hash_table)); for( i=0;i<n;i++) { scanf("%d:%d",&hh,&mm); temp_begin = hh*60+mm; scanf("%d:%d",&hh,&mm); temp_end = hh*60 + mm; if(temp_begin <=temp_end) memset(hash_table+temp_begin,0,sizeof(int) * (temp_end-temp_begin)); } for(i =0;i<MAX_NUMBER;i++) if(hash_table[i]!=0) k++; printf("%d\n",k); } }