田忌
2015-10-25 11:36
471 查看
#include <stdio.h> #include <limits.h> int N; int a[101]; int b[101]; int Answer; void sort() { int i,j,tmp; for(i = 1; i <= N; i++) { for(j = i+1; j <= N; j++) { if(a[i] < a[j]) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; } if(b[i] < b[j]) { tmp = b[i]; b[i] = b[j]; b[j] = tmp; } } } } int getnum() { int start1, end1, start2, end2, i, j,sum; end1 = end2 = N; start1 = start2 = 1; sum = 0; while(a[end1] > b[end2] && end1 >= 1) { sum += 2; end1 --; end2 --; } while(start1 <= end1) { if(a[start1] > b[start2]) { sum += 2; start1++; start2++; } else if(a[start1] < b[start2]) { end1--; start2++; } else { if(a[end1] > b[start2]) { sum += 2; } else if(a[end1] == b[start2]) { sum += 1; } end1--; start2++; } } return sum; } int main(void) { int test_case; int T; setbuf(stdout, NULL); scanf("%d", &T); for(test_case = 0; test_case < T; test_case++) { int i; scanf("%d", &N); for(i=1;i<=N;i++) { scanf("%d", &a[i]); } for(i=1;i<=N;i++) { scanf("%d", &b[i]); } sort(); Answer = getnum(); printf("Case #%d\n", test_case+1); printf("%d\n", Answer); } return 0;//Your program should return 0 on normal termination. }
相关文章推荐
- PHP贪婪算法解决0-1背包问题实例分析
- 正则表达式中贪婪和非贪婪(惰性)匹配的区别与效率问题
- 背包问题(贪婪法)
- 关于java正则表达式贪婪模式和勉强模式的研究
- 正则表达式规则(七)
- 《算法之道》精华 算法设计部分
- 贪婪算法——1 Prim算法
- 贪婪算法——2 Kruscal算法
- 贪婪算法——3 Dijkstra算法
- 钱也许会让人败坏,但没有钱,败坏的可能性更大VS贪婪的背后是恐惧
- 正则表达式的贪婪匹配
- java中正则匹配的贪婪模式和非贪婪模式
- 1033. To Fill or Not to Fill (25)
- 滴滴笔试题
- [Google Codejam] Round 1A 2016 - The Last Word
- JavaScript正则表达式贪婪模式与惰性模式
- 贪婪算法在求解最小生成树中的应用(JAVA)--Prim算法
- 贪婪算法在求解最小生成树中的应用(JAVA)--Kruskal算法
- 贪婪算法在求解最短路径中的应用(JAVA)--Dijkstra算法
- 贪婪算法与调度问题