华为OJ(素数伴侣)
来源:互联网 发布:伤感的网络歌曲有哪些 编辑:程序博客网 时间:2024/05/20 03:39
输入说明
1 输入一个正偶数n
2 输入n个整数
求得的“最佳方案”组成“素数伴侣”的对数。
方法一:穷举
#include <iostream>#include <math.h>#include <algorithm>using namespace std;bool Isprimer(int n){int flag=1;if (n<2)return false;if (n==2)return true;for (int i=2;i<=sqrt(double(n));i++)if (n%i==0){flag=0;break;}if(flag)return true;elsereturn false;}bool Primer_patener(int x,int y){if(Isprimer(x+y))return true;elsereturn false;}int main(){int N,a[100];int max=0;cin>>N;if (N%2!=0 || N>100)return -1;for (int i=0;i<N;i++)cin>>a[i];sort(a,a+N);while (next_permutation(a,a+N)) //穷举每一种组合{int k=0;for(int j=0;j<N;j+=2)if (Primer_patener(a[j],a[j+1]))k++;if (max<k)max=k;}cout<<max<<endl;}
方法二:应该是动态规划的方法,谁看懂了给我讲讲,谢谢!
#include<iostream>using namespace std;int isPrime(unsigned int n){ // Code Hereunsigned int i;if(n<2){return 0;}for(i=2;i<=n/2;i++){if(0==n%i){return 0;}}return 1;}unsigned int CalcNum(unsigned int *Input,unsigned int InputNum){/* 代码在这里实现 */int i,j;unsigned int cnt;unsigned int dp[100]={0};if((NULL==Input)||(InputNum<1)||(InputNum%2)){return 0;}for(i=InputNum-2;i>=0;i--){ for(j=InputNum-1;j>i;j--) { cnt = isPrime(Input[i] + Input[j]) ? (dp[i + 1] - dp[j - 1] + dp[j + 1] + 1):dp[i+1];//神马意思? dp[i] = (cnt>dp[i]) ? cnt:dp[i]; <span style="white-space:pre"></span>//上面这句不知道你是否看懂了,反正我是没看懂额 } } return dp[0]; }int main(){int n;cin>>n;unsigned int *input=new unsigned int[n];for(int i=0;i<n;i++)cin>>input[i];cout<<CalcNum(input,n);//system("pause");return 0;}下面是从OJ上看到的别人的评论:
有人说,上面的dp解法是凑巧的,实际不对,应该用二分图。见识太少,不懂神马是二分图,~~~~(>_<)~~~~,多读书吧,少年!
1 0
- 华为OJ(素数伴侣)
- 华为oj素数伴侣
- 【华为OJ】【074-素数伴侣】
- 华为oj中级 素数伴侣
- 华为OJ——素数伴侣
- 华为oj之素数伴侣---匈牙利算法
- 华为OJ之素数伴侣-匈牙利算法
- 华为oj素数伴侣,利用匈牙利算法求解
- 华为OJ<武研所>——素数伴侣
- 华为OJ训练之0036-170112-素数伴侣
- 华为OJ_2129_素数伴侣
- 华为素数伴侣题目
- 华为机试---素数伴侣
- 华为机试--素数伴侣
- OJ中-----素数伴侣(二分图,匈牙利算法)*?
- 素数伴侣
- 素数伴侣
- 素数伴侣
- 数据库存储过程
- getline
- Paths on a Grid(POJ--1942
- 【POJ2912】【加权并查集】【食物链变形】【只有一个就是只有他能nobug】
- Java(十三)--Set的添加,删除,修改
- 华为OJ(素数伴侣)
- DLL注入
- C++ 关键字 explicit, export, mutable
- Android实战简易教程-第四十六枪(自定义控件体验之罗盘)
- Win7 Chrome的缓存及用户数据位置修改
- const总结
- 信息熵
- IOS [[Tool Instance] getUser]引发的血案
- java成员的初始化 --thinking in java学习笔记(三)