#includeint map[20][4]; typedef struct node{ int star; int end; }node; node dui[100]; int step[14]; int max=0; int sum; int cass; int N; int flag; void pan(int a[]) { flag=0; sum=0; int q=-1; int p=-1; for(int i=0;i =dui[q].end) { sum=sum+dui[i].end-dui[i].star; q=i; } else return; } else if(a[i]==1) { if(dui[i].star>=dui[p].end) { sum=sum+dui[i].end-dui[i].star; p=i; } else return; } } flag=1; }void dfs(int a) { if(a==N) { pan(step); if(max dui[b+1].star) { tmp=dui[b]; dui[b]=dui[b+1]; dui[b+1]=tmp; } } } dfs(0); printf("%d\n",max); } return 0; }