[Offer收割]编程练习赛1 register

Ended

Participants:955

Verdict:Accepted
Score:100 / 100
Submitted:2016-03-06 15:16:52

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <iostream>
#include <queue>
#include <vector>
#define LL long long
#define MAXN 10005
#define NN 105
#define INF 2000000000005LL
using namespace std;
int a[NN], b[NN];
queue <int> Q;
int vis[MAXN];
LL dp[MAXN];
int n, m, k, t, q;
int spfa()
{
    for(int i = 0; i <= k; i++) dp[i] = INF, vis[i] = 0;
    dp[0] = 0;
    vis[0] = 1;
    while(!Q.empty()) Q.pop();
    Q.push(0);
    while(!Q.empty())
    {
        int u = Q.front();
        Q.pop();
        vis[u] = 0;
        for(int i = 0; i < m; i++)
        {
            int v = u + b[i];
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX