Submission #117029


Source Code Expand

#include <iostream>
#include <iomanip>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <complex>
#include <cstring>
#include <cstdlib>
#include <string>
#include <cmath>
#include <cassert>
#include <queue>
#include <set>
#include <map>
#include <valarray>
#include <bitset>
#include <stack>
using namespace std;

#define REP(i,n) for(int i=0;i<(int)n;++i)
#define FOR(i,c) for(__typeof((c).begin())i=(c).begin();i!=(c).end();++i)
#define ALL(c) (c).begin(), (c).end()
#define chmax(a,b) (a<(b)?(a=b,1):0)
#define chmin(a,b) (a>(b)?(a=b,1):0)
#define valid(y,x,h,w) (0<=y&&y<h&&0<=x&&x<w)
const int INF = 1<<29;
const double EPS = 1e-8;
const double PI = acos(-1);
typedef pair<int,int> pii;
typedef long long ll;


int g[15][15];
int dp[15][1<<15][15];

int main() {
  int n;
  while(cin >> n) {
    REP(i,n) g[i][i] = 0;
    REP(i,n-1) {
      for (int j=i+1; j<n; ++j) {
        cin >> g[i][j];
        g[j][i] = g[i][j];
      }
    }
    if (n==2) {
      cout << 0 << " " << 0 << endl;
      continue;
    }
    memset(dp,0x3f,sizeof(dp));
    REP(i,n) dp[i][1<<i][i] = 0;
    REP(k,n) {
      REP(S,1<<n) {
        REP(i,n) {
          if (S>>i&1) {
            REP(j,n) {
              if (S>>j&1) continue;
              chmin(dp[k][S|1<<j][j], dp[k][S][i]+g[i][j]);
            }
          }
        }
      }
    }
    int ans = INF;
    REP(i,n) REP(j,n) chmin(ans, g[i][j]+dp[i][(1<<n)-1][j]);
    cout << n << " " << ans << endl;
  }
}

Submission Info

Submission Time
Task A - 特別作戦
User sune2
Language C++ (G++ 4.6.4)
Score 100
Code Size 1535 Byte
Status AC
Exec Time 417 ms
Memory 29652 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 24
Set Name Test Cases
All 00-sample, 01-maximum, 02-minimum, 03-flat, 50-random-00, 50-random-01, 50-random-02, 50-random-03, 50-random-04, 50-random-05, 50-random-06, 50-random-07, 50-random-08, 50-random-09, 50-random-10, 50-random-11, 50-random-12, 50-random-13, 50-random-14, 50-random-15, 50-random-16, 50-random-17, 50-random-18, 50-random-19
Case Name Status Exec Time Memory
00-sample AC 70 ms 29480 KB
01-maximum AC 415 ms 29476 KB
02-minimum AC 19 ms 920 KB
03-flat AC 417 ms 29480 KB
50-random-00 AC 71 ms 29600 KB
50-random-01 AC 72 ms 29468 KB
50-random-02 AC 74 ms 29484 KB
50-random-03 AC 73 ms 29604 KB
50-random-04 AC 69 ms 29480 KB
50-random-05 AC 69 ms 29480 KB
50-random-06 AC 127 ms 29484 KB
50-random-07 AC 71 ms 29476 KB
50-random-08 AC 209 ms 29596 KB
50-random-09 AC 414 ms 29484 KB
50-random-10 AC 69 ms 29604 KB
50-random-11 AC 212 ms 29608 KB
50-random-12 AC 68 ms 29476 KB
50-random-13 AC 19 ms 920 KB
50-random-14 AC 129 ms 29480 KB
50-random-15 AC 74 ms 29600 KB
50-random-16 AC 72 ms 29480 KB
50-random-17 AC 133 ms 29652 KB
50-random-18 AC 210 ms 29484 KB
50-random-19 AC 70 ms 29484 KB