prithivMLmods/Coder-Stat
Coder-Stat Dataset Overview The Coder-Stat dataset is a collection of programming-related data, including problem IDs, programming languages, original statuses, and source code snippets. This dataset is designed to assist in the analysis of coding patterns, error types, and performance metrics. Dataset Details Modalities Tabular: The dataset is structured in a tabular format. Text: Contains text data, including source code snippets.… See the full description on the dataset page: https://huggingface.co/datasets/prithivMLmods/Coder-Stat.
3139
1 2 3 4<h1>Problem B: Matrix Operations</h1>5 6<h2>Problem</h2>7<p>8 要素が1と0からなる<var>n</var>×<var>n</var>の行列に対して、以下の種類の操作を行うプログラムを作成せよ。9</p>10 11<!--12 <p>13 祖父から1と0だけが書かれた<var>n</var>×<var>n</var>の行列と<var>m</var>個の操作が書かれている紙が送られてきた。14 </p>15 16 <p>17 紙の裏を見てみると、「この紙に書いてある行列に操作を加えて新しくできた行列をわしのとこに送ってくるのじゃ!18 一流のプログラマになりたいならこれくらいできなきゃ話にならんぞ!」と書かれている。どうやら私への挑戦状らしい。19 しかし私はプログラマではなくパティシエになりたいため、プログラムを書いたことがない。祖父にそのことを何度も言っているが一向に聞く耳を持ってくれない。 そこで、私の友達であるあなたにこの問題を解決するプログラムを組んでもらいたい。以下に操作の種類を示す。20 </p>21-->22 23<p>24 <img src="https://judgeapi.u-aizu.ac.jp/resources/images/IMAGE3_ACPC2013Aizu_aizuicpc_grid1" width="500" height="200"> <br />25 部分行列と角度(0,90,180,270,360)が与えられるのでその分だけ時計回りに回転させる。 <br />26 <img src="https://judgeapi.u-aizu.ac.jp/resources/images/IMAGE3_ACPC2013Aizu_aizuicpc_grid2" width="500" height="200"> <br />27 部分行列が与えられるので値を反転させる。<br />28 <img src="https://judgeapi.u-aizu.ac.jp/resources/images/IMAGE3_ACPC2013Aizu_aizuicpc_grid3" width="500" height="200"> <br />29 行が与えられるので左に1個シフトし、はみ出た分は右端に移動する。 <br />30 <img src="https://judgeapi.u-aizu.ac.jp/resources/images/IMAGE3_ACPC2013Aizu_aizuicpc_grid4" width="500" height="200"> <br />31 行が与えられるので右に1個シフトし、はみ出た分は左端に移動する。 <br />32 <img src="https://judgeapi.u-aizu.ac.jp/resources/images/IMAGE3_ACPC2013Aizu_aizuicpc_grid5" width="500" height="200"> <br />33 行(<var>r</var>),列(<var>c</var>)が与えられる。<br />34 Step1:現在のセルを(<var>r</var>,<var>c</var>)にする。 <br />35 Step2:現在のセルの値を反転する。 <br />36 Step3:隣接するセルのうち、値が現在のセルの反転前の値と等しいセルに対し、Step2とStep3の処理を行う。<br />37 ここで、セル(<var>i</var>,<var>j</var>)に隣接するセルとは、(<var>i</var>-1,<var>j</var>),38 (<var>i</var>+1,<var>j</var>),(<var>i</var>,<var>j</var>-1),(<var>i</var>,<var>j</var>+1)の4つである。 <br />39 40</p>41 <h2>Input</h2>42 43<pre>44<var>n</var> <var>m</var>45<var>a<sub>1,1</sub></var> <var>a<sub>1,2</sub></var> ... <var>a<sub>1,n</sub></var>46<var>a<sub>2,1</sub></var> <var>a<sub>2,2</sub></var> ... <var>a<sub>2,n</sub></var>47:48<var>a<sub>n,1</sub></var> <var>a<sub>n,2</sub></var> ... <var>a<sub>n,n</sub></var>49<var>Operation<sub>1</sub></var>50<var>Operation<sub>2</sub></var>51:52<var>Operation<sub>m</sub></var>53</pre>54 55<p>56 入力の最初に2つの整数<var>n</var>と<var>m</var>が空白区切りで与えられる。 <var>n</var>は行列のサイズ、<var>m</var>は操作の数を表している。57</p>58<p>59 次にグリッドの情報が<var>n</var>行で与えられ、グリッドの情報の<var>i</var>行目には<var>n</var>個の整数60 <var>a</var><sub>i,j</sub>が空白区切りで与えられる。<var>a</var><sub>i,j</sub>には0か1が与えられる。61</p>62 63<p>64 次に1行で表される各<var>Operation<sub>i</sub></var>が<var>m</var>個与えられる。 65 <var>Operation<sub>i</sub></var> の最初の入力は<var>o</var>(操作の種類)が入力される。 66 67</p>68 69<p>70 <var>o</var>が0のときは回転(Rotate)を表している。71 続く入力は、<var>r</var> <var>c</var> <var>size</var> <var>angle</var>(行、列、サイズ、角度) が空白区切りで与えられる。72 左上(<var>r</var>,<var>c</var>)から右下(<var>r</var>+<var>size</var>-1,<var>c</var>+<var>size</var>-1)が部分行列となる。73 正方行列になることは保証されている。74</p>75<p>76 <var>o</var>が1のときは反転(Reversal)を表している。77 また、続く入力は、<var>r</var> <var>c</var> <var>size</var> (行、列、サイズ) が空白区切りで与えられる。78 左上(<var>r</var>,<var>c</var>)から右下(<var>r</var>+<var>size</var>-1,<var>c</var>+<var>size</var>-1)が部分行列となる。79 正方行列になることは保証されている。80</p>81<p> 82 <var>o</var>が2のときは左シフト(Left shift)を表している。83 また、続く入力は <var>r</var>(行) が与えられる。84</p>85<p> 86 <var>o</var>が3のときは右シフト(Right shift)を表している。87 また、続く入力は <var>r</var>(行) が与えられる。88</p>89<p> 90 <var>o</var>が4のときは島反転(Island reversal)を表している。91 また、続く入力は <var>r</var> <var>c</var>(行、列) が空白区切りで与えられる。92</p>93 94 95 <h2>Constraints</h2>96 <p>入力は以下の条件を満たす。</p>97 <ul>98 99 <li>1 ≤ <var>n</var>,<var>r</var>,<var>c</var>,<var>size</var> ≤ 15</li>100 <li>1 ≤ <var>m</var> ≤ 100</li>101 <li>0 ≤ <var>o</var> ≤ 4</li>102 <li>1 ≤ <var>r</var>+<var>size</var>-1,<var>c</var>+<var>size</var>-1 ≤ 15</li>103 <li>0 ≤ <var>angle</var> ≤ 360</li>104 105 </ul>106 107 <h2>Output</h2>108 <p>生成された行列を出力して下さい。</p>109 110 <h2>Sample Input 1</h2>111 112 113<pre>1143 11151 1 01160 1 11171 0 11180 2 2 2 90119</pre>120 121 <h2>Sample Output 1</h2>122 123<pre>1241 1 01250 0 11261 1 1127</pre>128 129<h2>Sample Input 2</h2>130 131<pre>1325 21330 0 0 0 01341 0 0 0 01350 1 1 1 01360 1 1 1 01370 0 0 0 01383 21394 2 2140</pre>141 142<h2>Sample Output 2</h2>143 144<pre>1450 0 0 0 01460 0 0 0 01470 0 0 0 01480 0 0 0 01490 0 0 0 0150</pre>151 152<h2>Sample Input 3</h2>153<pre>1545 21551 1 1 0 11561 0 0 0 01570 0 0 1 11580 1 0 0 01590 1 1 1 01601 3 3 31610 1 1 5 90162</pre>163 164<h2>Sample Output 3</h2>165<pre>1660 0 0 1 11671 1 0 0 11680 1 1 0 11690 1 0 0 01701 1 0 0 1171</pre>