这题是暴力加贪心,算是一道水题吧!只要把l和w从小到大排个序就行了。。。
#include"iostream"#include"stdio.h"#include"string.h"#include"cmath"#include"algorithm"#include"queue"#define mx 10005using namespace std;struct node{ int l,w;};bool cmp(const node a,const node b){ if(a.l!=b.l) return a.l=b.l&&a.w>=b.w) return true; return false;}int main(){ int t,n,i,j,minute; cin>>t; while(t--) { cin>>n; minute=0; for(i=0;i >sticks[i].l>>sticks[i].w; } sort(sticks,sticks+n,cmp); memset(visited,0,sizeof(visited)); for(i=0;i