オフラインリアルタイムどう書く過去問(第26回)
問題はこちら->http://nabetani.sakura.ne.jp/hena/ord26tribo/
以前に解いていた問題です。
上からX段目までの三角形の数がXの二乗ですので、計算で解きました。
n個めの三角形の位置を求めるのに、計算しやすいようにn-1の平方根を求め、後で補正しました。
(補正しなくても偶奇が変わるだけですが)
初期の各色の数は三角形の数と同じで、三角形の辺の重なる部分(右隣、下)の色を2ずつ減らしていきます。
pos(N,[X,Y]):-X0 is floor(sqrt(N-97)),Y is N-96-X0*X0,X is X0+1. %uekara X, hidarikara Y banme
del([],G,R,B,G,R,B).
del([[X,Y]|T],G,R,B,GR,RR,BR):-1 =:= Y mod 2,!, %yokoni kisuu banme,
Y1 is Y+1,(member([X,Y1],T)->R1 is R-2;R1=R), %migidonari ni sankaku
X1 is X+1,(member([X1,Y1],T)->B1 is B - 2;B1=B), %sita ni sankaku
del(T,G,R1,B1,GR,RR,BR).
del([[X,Y]|T],G,R,B,GR,RR,BR):- %yoko ni guusuu banme
Y1 is Y+1,(member([X,Y1],T)->G1 is G-2;G1=G), % mgidonari ni sankaku
del(T,G1,R,B,GR,RR,BR).
start:-str(S),split_string(S,"\s,\n","\s",L),pre(L),!.
pre([]):-!.
pre([_,B,C,D,E|T]):-
string_codes(B,L),maplist(pos,L,R),length(R,N),
del(R,N,N,N,GR,RR,BR),maplist(number_chars,RE,[C,D,E]), %kaku iro nokazu = sankakukeino kazu
(RE==[RR,GR,BR]->Str=" pass";Str=" fail"),write(Str),write(" "),writeln([RR,GR,BR]),pre(T).
str("0 bdelmnouy 5,7,9
1 a 1,1,1
2 q 1,1,1
3 t 1,1,1
4 i 1,1,1
5 fg 2,0,2
6 gh 0,2,2
7 gm 2,2,0
8 fgh 1,1,3
9 fghm 2,2,2
10 fhm 3,3,3
11 bdfhjprx 8,8,0
12 abcdfghm 4,4,0
13 jklmqrst 0,4,4
14 klmntuvw 4,0,4
15 abcdefghijklmnopqrstuvwxy 5,5,5
16 abcdefghijklmnoqrtvwxy 6,8,4
17 abdefhijklnoprstvwxy 10,8,4
18 acegikmoqsuwy 13,13,5
19 bdfhjlnprtvxy 13,11,1
20 abdegijlnpqsuwy 15,15,15
21 aefghiqrstuvwxy 3,3,15
22 cfhkmoqrstuvwxy 7,7,15
23 cfhkmortvx 10,10,10
24 no 0,2,2
25 pwy 3,3,3
26 iqwy 4,4,4
27 lopuv 3,3,5
28 abdjtw 6,6,6
29 fgpstux 5,3,5
30 dijlnotv 6,8,2
31 bdefkmpwx 5,9,3
32 bfghjlmuwx 4,8,6
33 befghlopqrw 5,7,9
34 bfgjklmnqsux 8,6,8
35 fijklnpqstvwy 9,9,9
36 abcdfgilmnrsuv 8,6,6
37 abcdegijklnpruw 11,11,9
38 efgijkmnopqrtvwx 6,8,4
39 abcdefghilopqrtwy 9,9,7
40 abfghklmopqrsuvwxy 8,6,12
41 abcdeghklmoprstuwxy 9,7,7
42 abcdehijklmnopqrtwxy 8,8,6
43 acdefghimnopqrstuvwxy 7,3,9
44 abcfghijklmnopqrtuvwxy 6,6,6
45 abcdefghijklmnoqrstuwxy 5,7,7
46 abcdeghijklmnopqrstuvwxy 6,6,6").
Author And Source
この問題について(オフラインリアルタイムどう書く過去問(第26回)), 我々は、より多くの情報をここで見つけました https://qiita.com/smallbigcats/items/4ce1359d55c5f0621430著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .