#include using namespace std; int gear[4][8]; int sub[8]; void roll(int g, int direc, int check) { int before[8]; for (int i = 0; i < 8; i++) before[i] = gear[g - 1][i]; if (direc == 1) for (int i = 0; i < 8; i++) sub[i] = gear[g - 1][(i + 7) % 8]; else for (int i = 0; i < 8; i++) sub[i] = gear[g - 1][(i + 1) % 8]; for (int i = 0; i < 8; i++) gear[g - 1][i] = sub[i]; if (g == 1) { if (before[2] ..
#include #include int remote[10]; int min(int a, int b) { return a < b ? a : b; } int possible(int a) { int i, j, ab, digit; int result = 0; ab = a; while (1) { digit = ab % 10; if (remote[digit] == -1) { result = 0; break; } if (ab < 10) { result += 1; break; } ab /= 10; result++; } return result; } int main(void) { int i, n, m, x, digit, MAX; int MIN = 987654321; scanf("%d", &n); scanf("%d", &..
#include int n, start; int cost[10][10]; int visit[10]; int min(int a, int b) { return a < b ? a : b; } int city(int cur, int visited) { int i; int ret = 987654321; if (visited == n) { if (cost[cur][start] != 0) { ret = 0; ret += cost[cur][start]; for (i = 0; i < n; i++) { if (i == start) continue; ret += visit[i]; } } return ret; } for (i = 0; i < n; i++) { if (visit[i] == 0 && cost[cur][i] != ..