
C程序设计
Laura2017
这个作者很懒,什么都没留下…
展开
-
NOJ1571八数码问题
#include#include#includeusing namespace std;int dr[4]={0, 1, 0, -1};int dc[4]={-1, 0, 1, 0};queue q1;map step;int init(int m);int readdate();int bfs();int canmove(int u,int dire);int move(原创 2017-11-16 09:15:46 · 882 阅读 · 0 评论 -
数字河
#includeint river1[1000000],river3[1000000],river9[1000000];int main(){ int n,a,t,sum,i=1; a=1,river1[1]=1; while(a<=16384) { t=a,sum=0; while(t!=0) { sum+=t%10; t/=10; } a+=sum原创 2017-11-16 09:14:43 · 201 阅读 · 0 评论 -
NOJ1007八皇后问题
#include #include using namespace std;int a[8];int sum=0;void print(){ int i,j; cout<<"No "<<sum<<":"<<endl; for(i=0;i<8;i++) { for(j=0;j<8;j++) {原创 2017-11-16 09:11:13 · 429 阅读 · 0 评论 -
0—1背包
回溯法解0—1背包: 对某一物体,有两种可能,选或不选(分别用1,0表示)。使用递归,在遍历完n个数的时候,判断最终的数是否比最佳价值大,如果比最佳价值大,就把值赋给bestvalue 实现代码如下 #include <iostream>using namespace std;int c;//背包容量 int n;//物体个数in...原创 2017-11-16 09:04:37 · 241 阅读 · 0 评论 -
NOJ1322求子集重量之和(Calculate the sum of a subset's weight)
#includeint main(){ int A[100][100]; int n,i,j; int sum=0; scanf("%d",&n); for(i=0;i { for(j=0;j { scanf("%d",&A[i][j]); } } for(i=0;i { if(A[1][i]==1) {原创 2017-11-16 08:45:35 · 202 阅读 · 0 评论