# |
제출 시각 |
아이디 |
문제 |
언어 |
결과 |
실행 시간 |
메모리 |
259141 |
2020-08-07T08:46:51 Z |
반딧불(#5071) |
한자 끝말잇기 (JOI14_kanji) |
C++14 |
|
182 ms |
14004 KB |
#include <bits/stdc++.h>
#include "Annalib.h"
using namespace std;
typedef long long ll;
namespace ANNA{
ll dist[302][302];
int track[302][302];
int message[302];
bool know[302];
ll dt[302];
};
using namespace ANNA;
void Anna(int n, int k, int A[], int B[], ll C[], int q, int S[], int T[], int m, int U[]) {
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(i!=j) dist[i][j] = 4 * 1e18;
else dist[i][j] = 0;
}
}
for(int i=0; i<m; i++) know[U[i]] = 1;
for(int i=0; i<k; i++){
if(!know[i]) dist[A[i]][B[i]] = C[i], track[A[i]][B[i]] = -i-100;
}
for(int x=0; x<n; x++){
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(dist[i][x] + dist[x][j] < dist[i][j]){
track[i][j] = x;
dist[i][j] = dist[i][x] + dist[x][j];
}
}
}
}
int stP = A[U[0]];
for(int i=0; i<q; i++){
dt[i] = dist[S[i]][T[i]];
for(int j=0; j<m; j++){
if(dt[i] > dist[S[i]][stP] + C[U[j]] + dist[B[U[j]]][T[i]]){
dt[i] = dist[S[i]][stP] + C[U[j]] + dist[B[U[j]]][T[i]];
message[i] = j+1;
}
}
if(dt[i] > 3*1e18) exit(1);
// printf("%d: %lld\n", i, dt[i]);
}
for(int i=0; i<60; i+=3){
int mes = message[i] + message[i+1] * 6 + message[i+2] * 36;
for(int j=0; j<8; j++){
Tap(!!(mes & (1<<j)));
}
}
}
#include <bits/stdc++.h>
#include "Brunolib.h"
using namespace std;
typedef long long ll;
namespace BRUNO{
ll dist[302][302];
int track[302][302];
int message[302];
bool know[302];
ll dt[302];
};
using namespace BRUNO;
void answer(int x, int y){
if(x==y) return;
if(track[x][y] < 0){
Answer(-track[x][y]-100);
return;
}
int z = track[x][y];
answer(x, z);
answer(z, y);
}
void Bruno(int n, int k, int A[], int B[], ll C[], int q, int S[], int T[], int m, int U[], int L, int X[]) {
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(i!=j) dist[i][j] = 4 * 1e18;
else dist[i][j] = 0;
}
}
for(int i=0; i<m; i++) know[U[i]] = 1;
for(int i=0; i<k; i++){
if(!know[i]){
dist[A[i]][B[i]] = C[i], track[A[i]][B[i]] = -i-100;
}
}
for(int x=0; x<n; x++){
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(dist[i][x] + dist[x][j] < dist[i][j]){
track[i][j] = x;
dist[i][j] = dist[i][x] + dist[x][j];
}
}
}
}
for(int i=0; i<60; i+=3){
int mes = 0;
for(int j=0; j<8; j++){
mes += (1<<j) * X[i/3*8+j];
}
message[i] = mes % 6;
message[i+1] = mes / 6 % 6;
message[i+2] = mes / 36;
}
for(int i=0; i<q; i++){
if(message[i] == 0){
answer(S[i], T[i]);
}
else{
answer(S[i], A[U[0]]);
Answer(U[message[i] - 1]);
answer(B[U[message[i]-1]], T[i]);
}
Answer(-1);
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
67 ms |
6576 KB |
Output is correct - L = 160 |
2 |
Correct |
57 ms |
6592 KB |
Output is correct - L = 160 |
3 |
Correct |
56 ms |
6576 KB |
Output is correct - L = 160 |
4 |
Correct |
56 ms |
6804 KB |
Output is correct - L = 160 |
5 |
Correct |
54 ms |
6588 KB |
Output is correct - L = 160 |
6 |
Correct |
66 ms |
6544 KB |
Output is correct - L = 160 |
7 |
Correct |
57 ms |
6588 KB |
Output is correct - L = 160 |
8 |
Correct |
62 ms |
6432 KB |
Output is correct - L = 160 |
9 |
Correct |
70 ms |
6712 KB |
Output is correct - L = 160 |
10 |
Correct |
71 ms |
6752 KB |
Output is correct - L = 160 |
11 |
Correct |
57 ms |
6616 KB |
Output is correct - L = 160 |
12 |
Incorrect |
182 ms |
13780 KB |
Output isn't correct - Wrong Answer [9] |
13 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
53 ms |
6828 KB |
Output is correct - L = 160 |
2 |
Incorrect |
55 ms |
6888 KB |
Output isn't correct - Wrong Answer [9] |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
54 ms |
6820 KB |
Output is correct - L = 160 |
2 |
Incorrect |
54 ms |
6908 KB |
Output isn't correct - Wrong Answer [9] |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
54 ms |
6676 KB |
Output isn't correct - L = 160 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
54 ms |
6828 KB |
Output isn't correct - L = 160 |
2 |
Incorrect |
56 ms |
6884 KB |
Output isn't correct - Wrong Answer [9] |
3 |
Incorrect |
54 ms |
6804 KB |
Output isn't correct - Wrong Answer [9] |
4 |
Correct |
68 ms |
6836 KB |
Output isn't correct - L = 160 |
5 |
Correct |
55 ms |
6584 KB |
Output isn't correct - L = 160 |
6 |
Correct |
57 ms |
7132 KB |
Output isn't correct - L = 160 |
7 |
Incorrect |
55 ms |
6828 KB |
Output isn't correct - Wrong Answer [9] |
8 |
Correct |
59 ms |
6928 KB |
Output isn't correct - L = 160 |
9 |
Correct |
52 ms |
7196 KB |
Output isn't correct - L = 160 |
10 |
Correct |
55 ms |
7108 KB |
Output isn't correct - L = 160 |
11 |
Incorrect |
52 ms |
6936 KB |
Output isn't correct - Wrong Answer [9] |
12 |
Correct |
57 ms |
6832 KB |
Output isn't correct - L = 160 |
13 |
Incorrect |
182 ms |
14004 KB |
Output isn't correct - Wrong Answer [9] |
14 |
Correct |
57 ms |
6836 KB |
Output isn't correct - L = 160 |
15 |
Incorrect |
55 ms |
6964 KB |
Output isn't correct - Wrong Answer [9] |
16 |
Incorrect |
69 ms |
6968 KB |
Output isn't correct - Wrong Answer [9] |
17 |
Incorrect |
75 ms |
7084 KB |
Output isn't correct - Wrong Answer [9] |
18 |
Incorrect |
82 ms |
7360 KB |
Output isn't correct - Wrong Answer [9] |
19 |
Correct |
55 ms |
6552 KB |
Output isn't correct - L = 160 |
20 |
Correct |
67 ms |
7684 KB |
Output isn't correct - L = 160 |
21 |
Incorrect |
81 ms |
7560 KB |
Output isn't correct - Wrong Answer [9] |
22 |
Correct |
52 ms |
6816 KB |
Output isn't correct - L = 160 |
23 |
Correct |
53 ms |
6816 KB |
Output isn't correct - L = 160 |
24 |
Correct |
52 ms |
7060 KB |
Output isn't correct - L = 160 |