Submission #407395

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4073952021-05-18 21:19:50rainboyDomino (COCI15_domino)C11
90 / 160
4064 ms524292 KiB
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 2000
#define N_ (2 + N * N + 1)
#define M_ (1 + N * N + N * (N - 1) * 2)
#define A 1000
#define INF 0x3f3f3f3f
int ii[M_], jj[M_], ww[M_], ww_[M_], cc[M_ * 2], m_;
int *eh[N_], eo[N_], n_;
void append(int i, int h) {
int o = eo[i]++;
if (o >= 2 && (o & o - 1) == 0)
eh[i] = (int *) realloc(eh[i], o * 2 * sizeof *eh[i]);
eh[i][o] = h;
}
void add(int i, int j, int c, int w) {
int h = m_++;
ii[h] = i, jj[h] = j, ww[h] = w, cc[h << 1 | 0] = c;
append(i, h << 1 | 0), append(j, h << 1 | 1);
}
int dd[N_], kk[N_], ff[N_], pq[N_], iq[1 + N_], cnt;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

domino.c: In function 'append':
domino.c:17:23: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   17 |  if (o >= 2 && (o & o - 1) == 0)
      |                     ~~^~~
domino.c: In function 'lt':
domino.c:32:41: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   32 |  return dd[i] < dd[j] || dd[i] == dd[j] && kk[i] < kk[j];
      |                          ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
domino.c: In function 'dijkstra':
domino.c:80:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   80 |     if (dd[j] > d || dd[j] == d && kk[j] > k) {
      |                      ~~~~~~~~~~~^~~~~~~~~~~~
domino.c: In function 'main':
domino.c:122:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
  122 |  scanf("%d%d", &n, &k), n_ = 2 + n * n + 1;
      |  ^~~~~~~~~~~~~~~~~~~~~
domino.c:131:4: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
  131 |    scanf("%d", &a);
      |    ^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...