# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
3077 | tncks0121 | Hexagon travel (kriii1_H) | C++98 | 0 ms | 1084 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <stdio.h>
double last[3][6],now[3][6],ans[3];
int col[3][6] = {{1,2,1,2,1,2},{2,0,2,0,2,0},{0,1,0,1,0,1}};
char S[410]; int L,P;
int main()
{
int i,c,d,nc,nd;
scanf ("%d %d",&L,&P);
scanf ("%s",S);
last[2][0] = 1;
for (i=0;S[i];i++){
for (c=0;c<3;c++) for (d=0;d<6;d++) now[c][d] = last[c][d] * P / 100;
for (c=0;c<3;c++) for (d=0;d<6;d++){
if (S[i] == 'M') nc = col[c][d], nd = d;
if (S[i] == 'L') nc = c, nd = (d + 5) % 6;
if (S[i] == 'R') nc = c, nd = (d + 1) % 6;
now[nc][nd] += last[c][d] * (100 - P) / 100;
}
for (c=0;c<3;c++) for (d=0;d<6;d++) last[c][d] = now[c][d];
}
for (c=0;c<3;c++) for (d=0;d<6;d++) ans[c] += last[c][d];
for (c=0;c<3;c++) printf ("%.9lf\n",ans[c]+1e-8);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |