标签:
Moving Tables |
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) |
Total Submission(s): 5289 Accepted Submission(s): 1477 |
Problem Description
The famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure.
|
Input
The input consists of T test cases. The number of test cases ) (T is given in the first line of the input. Each test case begins with a line containing an integer N , 1<=N<=200 , that represents the number of tables to move. Each of the following N lines contains two positive integers s and t, representing that a table is to move from room number s to room number t (each room number appears at most once in the N lines). From the N+3-rd line, the remaining test cases are listed in the same manner as above.
|
Output
The output should contain the minimum time in minutes to complete the moving, one per line.
|
Sample Input
3 4 10 20 30 40 50 60 70 80 2 1 3 2 200 3 10 100 20 80 30 50 |
Sample Output
10 20 30 |
习题总结:
虽然是第二次做这道题目,但是还是WA了2次,,还是原来的原因,,好坑人的题目。。。
一定要注意,改变的数组位置要记录下来。。。
# include <iostream> # include <cstdio> # include <algorithm> # include <vector> using namespace std; struct Info { int start, end; int m; }; bool cmp(Info a, Info b) { if(a.start != b.start) return a.start < b.start; else return a.end < b.end; } int main() { int t; cin >> t; while(t--) { Info info; vector <Info> v; int n; cin >> n; for(int i = 0; i < n; i++) { scanf("%d%d", &info.start, &info.end); // cin >> info.start >> info.end; info.start = (info.start + 1) / 2; info.end = (info.end + 1) / 2; if(info.start > info.end) swap(info.start, info.end); info.m = 0; v.push_back(info); } sort(v.begin(), v.end(), cmp); // cout << v[0].start << " " << v[1].start << endl; int jishu = 0; for(int i = 0; i < v.size(); i++) { if(v[i].m == 0) { jishu++; v[i].m = 1; int tep = i;// 就是这里必须要记住,,记录I的位置
for(int j = i + 1; j < v.size(); j++) { if(v[j].m == 0) { if(v[j].start > v[tep].end) { v[j].m = 1; tep = j; } } } } } printf("%d\n", jishu * 10); } return 0; }
标签:
原文地址:http://www.cnblogs.com/lyf-acm/p/5454498.html