2018-12-01から1ヶ月間の記事一覧

AOJ(問題集)8

AIZU ONLINE JUDGE: Programming Challenge 0071 Bombs Chain $<.gets.to_i.times do |co| $<.gets field = Array.new(8) {$<.gets.chomp.chars.map(&:to_i)} xi, yi = $<.gets.to_i, $<.gets.to_i blast = ->(x, y) { field[y][x] = 2 3.times do |i| [[1, …

古い Linux Kernel のインストール

askubuntu.comここが参考になる。 例えばここ、ここ、ここから linux-image-4.4.0-98-generic_4.4.0-98.121_amd64.deb linux-headers-4.4.0-98_4.4.0-98.121_14.04.1_all.deb linux-headers-4.4.0-98-generic_4.4.0-98.121_14.04.1_amd64.deb を拾ってきてひ…

Ubuntu 16.04 LTS のインストール後の設定 + VMware Player 12.1.0 の導入

AOJ(問題集)7

AIZU ONLINE JUDGE: Programming Challenge 0061 Rank Checker data = [] until (st = $<.gets.chomp) == "0,0" data << st.split(",").map(&:to_i) end data.sort! {|a, b| b[1] <=> a[1]} x = data.first.last h = {} l = 1 data.each do |d| l += 1 unles…

AOJ(問題集)6

AIZU ONLINE JUDGE: Programming Challenge 0051 Differential II $<.readlines.drop(1).map {|a| a.chomp.chars.map(&:to_i).sort}.each do |ary| puts ary.reverse.join.to_i - ary.join.to_i end 0052 Factorial II until (n = $<.gets.to_i).zero? five …

Ruby で遅延評価メモ

AOJ(問題集)5

AIZU ONLINE JUDGE: Programming Challenge 0041 Expression def solve(ary) if ary.size <= 1 return ary[0] if eval(ary[0]) == 10 else idxs = [*0...ary.size] idxs.combination(2) do |i, j| a, b = ary[i], ary[j] nxt = (idxs - [i, j]).map{|x| ary[…

Windows フリーゲーム「Almagest」を Linux で遊ぶ

ゲーム HP。 Almagest -Overture- 以下よりダウンロードする。 「Almagest -Overture-」ターン制SFシミュレーションゲーム - 窓の杜 lzh ファイルは Linux ではそのままでは解答できないので、ここでは lhasa を入れてみる。 $ sudo apt install lhasaこれで…

はがきデザインキット2019 を Ubuntu 18.10 にインストール

以前に郵便局の「はがきデザインキット」を Ubuntu にインストールする記事(参照)を書いたのですが、その手順が古くなったので再挑戦です。まずは Wine が使えるか調べます。「Wine」とは Linux で Windows のソフトを動かすためのアプリです。 $ wine --v…

AOJ(問題集)4

AIZU ONLINE JUDGE: Programming Challenge 0031 Weight def measure(object, weight, result = []) return result.join(" ") if weight.zero? result.unshift(weight) if (object / weight).nonzero? measure(object % weight, weight / 2, result) end $<.…

暗黙の Proc化(Ruby)

[1] pry(main)> (1..4).map {|i| i + 3} => [4, 5, 6, 7] これと [2] pry(main)> (1..4).map(&->(i) {i + 3}) => [4, 5, 6, 7] は同じ。引数での & は Proc をブロックに変換するから。(正確にはさらにそれを暗黙に .call() している。) では、 [3] pry(ma…

AOJ(問題集)3

AIZU ONLINE JUDGE: Programming Challenge 0021 Parallelism $<.readlines.drop(1).map {|a| a.split.map(&:to_r)}.each do |x1, y1, x2, y2, x3, y3, x4, y4| puts((x2 - x1) * (y4 - y3) == (x4 - x3) * (y2 - y1) ? "YES" : "NO") end 単純な問題なのに…

RMagick で LoadError

RMagick に関して次のエラーが出た。Ubuntu 18.10, Ruby 2.3.4。

AOJ(問題集)2

AIZU ONLINE JUDGE: Programming Challenge 0011 Drawing Lots given = $<.readlines lines = [*0..given.first.to_i] given.drop(2).map {|x| x.split(",").map(&:to_i)}.each do |a, b| lines[a], lines[b] = lines[b], lines[a] end puts lines.drop(1) 0…

AOJ(問題集)1

AIZU ONLINE JUDGE: Programming Challenge 0000 QQ 9.times do |i| 9.times {|j| puts "#{x = i + 1}x#{y = j + 1}=#{x * y}"} end 0001 List of Top 3 Hills puts $<.readlines.map(&:to_i).sort {|a, b| b <=> a}.take(3) 0002 Digit Number $<.readlines…