2 2 1 10 10 11 3 1 10 10 11 11 20
1 2
解題思路:貪心解不相交區間問題,典型的問題,排序最好用sort(快排),輸入用scanf,不然可能會超,其他就不多說了,直接上代碼=-=
#include#include #include using namespace std; struct node { int a; int b; }num[10001]; bool cmp(node x,node y) //區間按b升序排練,相等情況下按a降序排練(優先選小區間) { if(x.b==y.b) return x.a>y.a; return x.b num[j].b) {sum++;j=i;} } printf("%d\n",sum); } //fclose(stdin); return 0; }