結果
| 問題 |
No.1 道のショートカット
|
| コンテスト | |
| ユーザー |
roaiziro
|
| 提出日時 | 2015-09-20 07:29:30 |
| 言語 | C90 (gcc 12.3.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,583 bytes |
| コンパイル時間 | 123 ms |
| コンパイル使用メモリ | 21,376 KB |
| 実行使用メモリ | 8,356 KB |
| 最終ジャッジ日時 | 2024-07-08 04:13:30 |
| 合計ジャッジ時間 | 9,836 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 19 TLE * 1 -- * 20 |
コンパイルメッセージ
main.c: In function ‘main’:
main.c:61:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
61 | scanf("%d", &gsizen);
| ^~~~~~~~~~~~~~~~~~~~
main.c:62:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
62 | scanf("%d", &gcost);
| ^~~~~~~~~~~~~~~~~~~
main.c:63:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
63 | scanf("%d", &gsizev);
| ^~~~~~~~~~~~~~~~~~~~
main.c:65:13: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
65 | scanf("%d", &date[i].s);
| ^~~~~~~~~~~~~~~~~~~~~~~
main.c:68:13: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
68 | scanf("%d", &date[i].t);
| ^~~~~~~~~~~~~~~~~~~~~~~
main.c:71:13: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
71 | scanf("%d", &date[i].y);
| ^~~~~~~~~~~~~~~~~~~~~~~
main.c:74:13: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
74 | scanf("%d", &date[i].m);
| ^~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#include<stdio.h>
#define N 50
#define V 1500
struct DATE{
int s, t, y, m;
}date[V];
struct NODE{
struct DATE *dv[V];
int vn;
}node[N];
int gcost, gsizen, gsizev, gmin = -1;
void createtree(void)
{
int i, j;
for(i = 0; i < gsizev; i++){
j = date[i].s;
node[j].dv[node[j].vn] = &date[i];
node[j].vn++;
}
return;
}
int trece1(int i, int cost, int time)
{
int j, ans;
if(gsizen == i){
// printf("trece1 %d\n", time);
if(gmin == -1 || time < gmin){
gmin = time;
}
return(gmin);
}
for(j = 0; j < node[i].vn; j++){
if(cost+node[i].dv[j]->y <= gcost){
ans = trece1(node[i].dv[j]->t, cost+node[i].dv[j]->y, time+node[i].dv[j]->m);
}
}
return(gmin);
}
int trece(void)
{
trece1(1, 0, 0);
return(gmin);
}
int main(int argc, const char * argv[])
{
int i;
// insert code here...
scanf("%d", &gsizen);
scanf("%d", &gcost);
scanf("%d", &gsizev);
for(i = 0; i < gsizev; i++){
scanf("%d", &date[i].s);
}
for(i = 0; i < gsizev; i++){
scanf("%d", &date[i].t);
}
for(i = 0; i < gsizev; i++){
scanf("%d", &date[i].y);
}
for(i = 0; i < gsizev; i++){
scanf("%d", &date[i].m);
}
// for(i = 0; i < gsizev; i++){
// printf("%d %d %d %d\n", date[i].s, date[i].t, date[i].y, date[i].m);
// }
createtree();
printf("%d\n", trece());
return 0;
}
roaiziro