码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 1065 Wooden Sticks

时间:2019-02-26 00:57:12      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:poj   turn   const   依次   using   int   标记   ios   size   

思路:

排序后依次进行贪心选择;

 

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 struct node {
 5     int l, w;
 6     bool isUsed;
 7 }nodes[5000];//木棍数组
 8 bool cmp(const node& n1, const node &n2)
 9 {
10     if (n1.l < n2.l)
11         return true;
12     else if (n1.l == n2.l&&n1.w < n2.w)
13         return true;
14     else
15         return false;//记得这句 
16 }
17 int main()
18 {
19     int t;
20     cin >> t;
21     for (int i = 0; i<t; i++)
22     {
23         int n;
24         cin >> n;
25         for (int j = 0; j<n; j++)
26         {
27             cin >> nodes[j].l >> nodes[j].w;
28             nodes[j].isUsed = false;
29         }
30 
31         sort(nodes, nodes + n, cmp);
32         node cur = nodes[0];//木棍0为当前最后用过的木棍
33         nodes[0].isUsed = true;
34         int c = 0;//启动时间 
35         while (1)
36         {
37             for (int j = 0; j<n; j++)//在未使用的木棍中,将l,w不小于当前木棍的木棍设为使用 
38             {
39                 if (nodes[j].isUsed == false)
40                 {
41                     if (nodes[j].l >= cur.l&&nodes[j].w >= cur.w)
42                     {
43                         nodes[j].isUsed = true;
44                         cur = nodes[j];
45                     }
46                 }
47             }
48             c++;//启动时间+1 
49             int j;
50             for (j = 0; j<n; j++)//寻找没有用过的木棍,标记为最后使用的,退出 
51             {
52                 if (nodes[j].isUsed == false)
53                 {
54                     cur = nodes[j];
55                     nodes[j].isUsed = true;
56                     break;
57                 }
58 
59             }
60             if (j == n)//用完了退出 
61                 break;
62         }
63         cout <<  c << endl;
64     }
65     return 0;
66 }

 

POJ 1065 Wooden Sticks

标签:poj   turn   const   依次   using   int   标记   ios   size   

原文地址:https://www.cnblogs.com/fudanxi/p/10434759.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!