9개의 댓글이 있습니다.
-
-
dgoon -
dash(-)를 빼놓고 path를 썼을때, 사전순으로 뒤에오는녀석이 lexicographically greater.
예를들어 f3-e3-... 로 가는 길보다 f3-g3-... 혹은 f3-f4-... 이런 녀석들이 우선이겠죠.
f3에서 시작이라면 g3으로가는(그러니까 오른쪽) 방향이 lexicographically greatest인듯 합니다.
우선순위를 right, up, down, left 순서로 놓고 갈 곳이 없을때까지 가면 될것 같은데...
... 어제 문제를 제대로 이해 못해서 삽질했었다능 ㅠㅠ
17년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
astein
일단 레이팅 변화만 올려둡니다. 언제나처럼 Top 9 [?] 과 상위 150등 안에 든 한국인들만 잘랐습니다.
(그림판이 맛이 가서 우울하네요)
P.S) lewha0님이 Red가 되셨습니다 축하해여 +_+
Easy (250 pts.)
int flag[10];
bool go(string s) {
long long now;
sscanf(s.c_str(), "%Ld", &now);
for (int i = 1; i <= 9; i++)
if (flag[i] && now % i != 0) return false;
return true;
}
struct DivisibleByDigits {
long long getContinuation(int n) {
string s = toString(n);
REP(i, sz(s)) flag[s[i] - '0'] = 1;
long long ret, P = 1;
for (int digit = 0; ; digit++) {
for (int i = 0; i < P; i++) {
string tmp = toString(i);
tmp = string(digit - sz(tmp), '0') + tmp;
if (go(s + tmp)) {
sscanf((s + tmp).c_str(), "%Ld", &ret);
return ret;
}
}
P = P * 10;
}
return ret;
}
};
[/spoiler]
17년 전