亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 背包問題.c

?? 1RIP路由協議 ——RIP協議最初是為Xerox網絡系統的Xeroxparc通用協議而設計的
?? C
字號:
/* 0/1背包問題的分支定界法算法*/


#include<stdio.h>
#include<stdlib.h>

#define  MAXNUM   100

struct node{
    int step;
    int price;
    int weight;
    int max, min;
    unsigned long po;
};

typedef struct node DataType;
struct  SeqQueue {		/* 順序隊列類型定義 */
    int  f, r;
    DataType  q[MAXNUM];
};
typedef  struct SeqQueue *PSeqQueue;	


PSeqQueue createEmptyQueue_seq( void ) {  
    PSeqQueue paqu;
    paqu = (PSeqQueue)malloc(sizeof(struct SeqQueue));
    if (paqu == NULL)
        printf("Out of space!! \n");
	else 
        paqu->f = paqu->r = 0;

    return paqu;
}

int  isEmptyQueue_seq( PSeqQueue paqu ) {
    return paqu->f == paqu->r;
}

/* 在隊列中插入一元素x */
void  enQueue_seq( PSeqQueue paqu, DataType x ) {
    if( (paqu->r + 1) % MAXNUM == paqu->f  )
        printf( "Full queue.\n" );
    else {
        paqu->q[paqu->r] = x;
        paqu->r = (paqu->r + 1) % MAXNUM;
    }
}

/* 刪除隊列頭元素 */
void  deQueue_seq( PSeqQueue paqu ) {
    if( paqu->f == paqu->r )
        printf( "Empty Queue.\n" );
    else
        paqu->f = (paqu->f + 1) % MAXNUM;
}

/* 對非空隊列,求隊列頭部元素 */
DataType  frontQueue_seq( PSeqQueue paqu ) {
    return (paqu->q[paqu->f]);
}

/* 物品按性價比從新排序*/
void sort(int n, int p[], int w[]){
    int i, j;
    for (i = 0; i < n-1; i++)
        for (j = i; j < n-1; j++) {
            int a = p[j]/w[j];
            int b = p[j+1]/w[j+1];
            if (a < b) {
                int temp = p[j];
                p[j] = p[j+1];
                p[j+1] = temp;
                temp = w[j];
                w[j] = w[j+1];
                w[j+1] = temp;
            }
        }
}

/* 求最大可能值*/
int up(int k, int m, int n, int p[], int w[]){
    int i = k;
    int s = 0;
    while (i < n && w[i] < m) {
        m -= w[i];
        s += p[i];
        i++;
    }
    if (i < n && m > 0) {
        s += p[i] * m / w[i];
        i++;
    }
    return s;
}

/* 求最小可能值*/
int down(int k, int m, int n, int p[], int w[]){
    int i = k;
    int s = 0;
    while (i < n && w[i] <= m) {
        m -= w[i];
        s += p[i];
        i++;
    }
    return s;
}

/* 用隊列實現分支定界算法*/
int solve(int m, int n, int p[], int w[], unsigned long* po){
    int min;
    PSeqQueue q = createEmptyQueue_seq();
    DataType x = {0,0,0,0,0,0};
    sort(n, p, w);
    x.max = up(0, m, n, p, w);
    x.min = min = down(0, m, n, p, w);
    if (min == 0) return -1;
    enQueue_seq(q, x);
    while (!isEmptyQueue_seq(q)){
        int step;
        DataType y;
        x = frontQueue_seq(q);
        deQueue_seq(q);
        if (x.max < min) continue;
        step = x.step + 1;
        if (step == n+1) continue;
        y.max = x.price + up(step, m - x.weight, n, p, w);
        if (y.max >= min) {
            y.min = x.price + down(step, m-x.weight, n, p, w);
            y.price = x.price;
            y.weight = x.weight;
            y.step = step;
            y.po = x.po << 1;
            if (y.min >= min) {
                min = y.min;
                if (step == n) *po = y.po;
            }
            enQueue_seq(q, y);
        }
        if (x.weight + w[step-1] <= m) {
            y.max = x.price + p[step-1] + 
                    up(step, m-x.weight-w[step-1], n, p, w);
            if (y.max >= min) {
                y.min = x.price + p[step-1] + 
                        down(step, m-x.weight-w[step-1], n, p, w);
                y.price = x.price + p[step-1];
                y.weight = x.weight + w[step-1];
                y.step = step;
                y.po = (x.po << 1) + 1;
                if (y.min >= min) {
                    min = y.min;
                    if (step == n) *po = y.po;
                }
                enQueue_seq(q, y);
            }
        }
    }
    return min;
}

//#define n 4

//int m = 15;
//int p[n] = {10, 10, 12, 18};
//int w[n] = {2, 4, 6, 9};
int n,m;
int p[1024],w[1024];
int main() {
    int i;
    int d;
    unsigned long po;
	scanf("%d",&m);
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&w[i]);
	for(i=0;i<n;i++)
		scanf("%d",&p[i]);
    d = solve(m, n, p, w, &po);
    if (d == -1)
        printf("No solution!\n");
    else {
  //      for (i = 0; i < n; i++)
   //         printf("x%d is %d\n", i + 1, ((po & (1<<(n-i-1))) != 0));
   //     printf("The max weight is %f\n", d);
			printf("%d\n",d);
    }
    getchar();
    return 0;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91片黄在线观看| 欧美久久一二三四区| 国产一区高清在线| 丝袜美腿亚洲色图| 日日噜噜夜夜狠狠视频欧美人| 亚洲女性喷水在线观看一区| 亚洲裸体在线观看| 亚洲激情六月丁香| 日韩主播视频在线| 青青草原综合久久大伊人精品 | 亚洲香蕉伊在人在线观| 亚洲区小说区图片区qvod| 日韩理论在线观看| 亚洲精品视频在线| 日韩国产欧美一区二区三区| 久久99精品一区二区三区| 韩日欧美一区二区三区| 国产高清不卡一区| 欧美曰成人黄网| 51精品国自产在线| 久久精品夜色噜噜亚洲aⅴ| 国产精品色呦呦| 亚洲成人av免费| 激情成人午夜视频| 91视频观看视频| 欧美一区二区网站| 中文av一区特黄| 午夜精品福利视频网站| 黑人巨大精品欧美黑白配亚洲| 成人av电影免费在线播放| 欧美乱妇15p| 中文无字幕一区二区三区| 亚洲午夜在线观看视频在线| 精品一区二区日韩| 欧美在线视频全部完| 日韩免费在线观看| 一区二区三区精品在线观看| 久久成人免费网站| 欧美亚洲一区二区在线| 26uuu国产日韩综合| 亚洲乱码中文字幕| 国产老妇另类xxxxx| 欧美综合色免费| 日本一区二区三区在线观看| 日韩电影在线观看一区| av亚洲产国偷v产偷v自拍| 日韩一区二区三区视频在线观看 | 亚洲日本va在线观看| 日本免费在线视频不卡一不卡二| 粉嫩aⅴ一区二区三区四区五区 | 亚洲精品中文字幕在线观看| 久久国产精品99精品国产| 欧美在线一二三| 最新国产精品久久精品| 国产乱国产乱300精品| 欧美精品久久99久久在免费线 | 在线综合亚洲欧美在线视频| 国产精品美女久久久久久| 久久国产日韩欧美精品| 欧美系列日韩一区| 亚洲六月丁香色婷婷综合久久 | 久久久久9999亚洲精品| 日本一区中文字幕| 欧美色倩网站大全免费| 亚洲天堂精品视频| 成人小视频在线| 国产偷v国产偷v亚洲高清| 激情成人综合网| 欧美成人一区二区三区片免费| 偷拍日韩校园综合在线| 欧美在线小视频| 亚洲大尺度视频在线观看| 一本到不卡免费一区二区| 亚洲欧美日韩在线| 日本久久一区二区| 亚洲精品美腿丝袜| 在线免费观看日韩欧美| 亚洲永久精品大片| 欧美日韩亚洲综合一区二区三区| 亚洲在线视频免费观看| 欧美熟乱第一页| 五月婷婷激情综合| 日韩一区二区电影在线| 麻豆国产精品777777在线| 日韩欧美一区中文| 国产在线精品一区二区三区不卡| 久久久久99精品国产片| jizzjizzjizz欧美| 一区二区三区.www| 3d动漫精品啪啪1区2区免费| 久久精品国产在热久久| 久久精品网站免费观看| 99精品欧美一区| 亚洲国产精品人人做人人爽| 在线综合亚洲欧美在线视频 | 中文字幕不卡一区| 色悠悠亚洲一区二区| 五月激情综合色| 国产色综合一区| 91老司机福利 在线| 青草av.久久免费一区| 欧美激情在线免费观看| 色av综合在线| 激情欧美一区二区三区在线观看| 国产精品国产精品国产专区不片| 欧美中文字幕亚洲一区二区va在线 | 成年人网站91| 亚洲18色成人| 国产欧美一区二区三区在线看蜜臀 | 久久超碰97中文字幕| 久久久www免费人成精品| 91香蕉视频mp4| 麻豆成人在线观看| 国产精品久久久久久亚洲毛片| 欧美天堂亚洲电影院在线播放| 紧缚捆绑精品一区二区| 亚洲美女区一区| 欧美精品一区二区三区一线天视频| 成人av片在线观看| 日本一道高清亚洲日美韩| 国产精品免费网站在线观看| 91麻豆精品国产91久久久更新时间| 国产很黄免费观看久久| 婷婷综合久久一区二区三区| 欧美极品美女视频| 日韩一级成人av| 一本久久a久久免费精品不卡| 极品少妇xxxx精品少妇偷拍| 亚洲精品久久久蜜桃| 久久久久国产免费免费| 欧美一区二区精美| 日本精品视频一区二区| 国产成人av资源| 美女一区二区三区| 亚洲福利一区二区三区| 国产精品久久久久久久久快鸭| 日韩欧美成人一区二区| 欧美在线观看视频在线| 91免费国产视频网站| 懂色av中文字幕一区二区三区| 老汉av免费一区二区三区| 亚洲一区二区在线观看视频| 国产精品欧美一区二区三区| 久久久久国产精品麻豆ai换脸 | 91九色02白丝porn| 波多野结衣一区二区三区| 国产精品一区二区久激情瑜伽 | 亚洲在线成人精品| 亚洲女人小视频在线观看| 国产精品嫩草影院com| 国产欧美日韩另类一区| 久久久国产综合精品女国产盗摄| 日韩精品一区在线观看| 欧美一区二区三区电影| 欧美一二三四区在线| 日韩一区二区免费高清| 欧美草草影院在线视频| 久久综合九色综合97_久久久| 精品人伦一区二区色婷婷| 欧美精品一区二区久久久| 久久免费午夜影院| 国产欧美日韩亚州综合 | 国产精品久久久久久久久果冻传媒| 国产欧美一区二区在线| |精品福利一区二区三区| 亚洲精选视频免费看| 亚洲第一av色| 美国十次了思思久久精品导航| 久久国产欧美日韩精品| 成人福利视频网站| 在线看不卡av| 日韩一区二区在线免费观看| 国产性天天综合网| 中文字幕一区三区| 亚洲一区在线视频| 免费成人深夜小野草| 国产成人午夜精品5599| 色先锋资源久久综合| 日韩午夜精品电影| 中文字幕人成不卡一区| 五月天中文字幕一区二区| 国产一区二区网址| 91免费看`日韩一区二区| 欧美一卡二卡三卡| 国产精品无圣光一区二区| 一区二区三区在线观看国产 | 国产精品乱子久久久久| 亚洲午夜成aⅴ人片| 久久99精品久久久久久国产越南| 国产91精品露脸国语对白| 欧美三级中文字幕| 中文字幕欧美区| 天天射综合影视| 97aⅴ精品视频一二三区| 日韩一区二区在线观看视频播放| ...中文天堂在线一区| 国产综合色视频| 欧美日韩一区三区| 日韩一区日韩二区| 老司机免费视频一区二区三区|