質問編集履歴

1

訂正

2016/12/02 07:28

投稿

nina1326
nina1326

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,169 +1,5 @@
1
- しても水着がほしいのでご教示ください
1
+ う水着は要りません
2
2
 
3
+ 現在進行形であるのでネタバレ注意と書いたのですが無意味でしたね。
3
4
 
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
- -------------------------------
12
-
13
- 所属事務所の看板を作ることになったあなたは、看板に文字列を表示するため、各文字の印刷された小看板を別々に発注して組み合わせることにしました。しかし、発注後に表示する文字列に変更があり、小看板を再発注することになりました。
14
-
15
-
16
-
17
- あなたは再発注する小看板の数を減らすため、共通する文字の小看板を再利用することを考えました。
18
-
19
-
20
-
21
- 例えば 文字列が "paiza" から "pizza" へと変更された場合、共通する a, i, p, z の 4 文字の小看板を再利用することで再発注数を 1 つに減らすことができます。
22
-
23
- -------------------------------
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
- 入力される値
36
-
37
-
38
-
39
- 入力は標準入力にて以下のフォーマットで与えられます。
40
-
41
-
42
-
43
- n m
44
-
45
- s
46
-
47
- t
48
-
49
-
50
-
51
- 1行目に変更前の文字列の長さ n と 変更後の文字列の長さ m が半角スペース区切りで与えられます。
52
-
53
- 2行目に変更前の文字列 s が与えられます。
54
-
55
- 3行目に変更後の文字列 t が与えられます。
56
-
57
- 入力は合計で 3行 となり、 最終行の末尾に改行が1つ入ります。
58
-
59
- -------------------------------
60
-
61
-
62
-
63
-
64
-
65
- 条件
66
-
67
-
68
-
69
- すべてのテストケースにおいて、以下の条件をみたします。
70
-
71
-
72
-
73
- n, m は整数
74
-
75
- 1 ≦ n, m ≦ 100000
76
-
77
- (sの長さ) = n, (tの長さ) = m
78
-
79
- s, t は半角英字小文字のみで構成される文字列
80
-
81
- -------------------------------
82
-
83
-
84
-
85
- 期待する出力
86
-
87
-
88
-
89
- 再発注しなければならない最小の小看板の数を整数で出力してください。
90
-
91
-
92
-
93
- 最後は改行し、余計な文字、空行を含んではいけません。
94
-
95
-
96
-
97
- -------------------------------
98
-
99
- 以下コード
100
-
101
- ↓↓↓↓↓↓↓↓↓↓↓↓↓↓
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
- lines = $stdin.read.split(?\n).map!{|item| item.split(" ")}
116
-
117
-
118
-
119
- n = lines[0][0].to_i
120
-
121
- m = lines[0][1].to_i
122
-
123
-
124
-
125
- s = lines[1][0].chars
126
-
127
- t = lines[2][0].chars
128
-
129
-
130
-
131
- ans = 0
132
-
133
-
134
-
135
- for i in 0..(m-1) do
136
-
137
- if t.count(t[i]) == 1 and t.count(t[i]) - s.count(t[i]) > 0
138
-
139
- ans += t.count(t[i]) - s.count(t[i])
140
-
141
- elsif t.count(t[i]) != 1 and t.count(t[i]) - s.count(t[i]) > 0
142
-
143
- ans += t.count(t[i]) - s.count(t[i])
144
-
145
- t.delete(t[i])
146
-
147
- end
148
-
149
- end
150
-
151
-
152
-
153
- p ans
154
-
155
-
156
-
157
- -------------------------------
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
- どのようなテストケースではじかれているのかわかりません。
168
-
169
- よろしくお願いします
5
+ ありがとうござ