Skip to content

Instantly share code, notes, and snippets.

View oupo's full-sized avatar

oupo oupo

  • Japan
View GitHub Profile
M = 2**64
A = 0x5d588b656c078965
B = 0x269ec3
MAX = 2**48-1
N = 3
As, Bs = [A], [B]
(N-1).times do |i|
As[i+1] = (As[i] * A) % M
Bs[i+1] = (Bs[i] * A + B) % M
for i = 0, 0x30 do
memory.registerexec(0x0201FA20 + i, function ()
local addr = memory.getregister("curr_insn_addr")
local thumb = true
print(string.format("%.8x %s", addr, emu.disasm(addr, thumb)))
emu.pause()
end)
end
:0201FA20 B430 push {r4-r5} ; レジスタをスタックに退避
:0201FA22 490C ldr r1, [pc, #30] ; 021d0ae4 (is &mt[0] - 8)
:0201FA24 2427 mov r4, #27
:0201FA26 6088 str r0, [r1, #8] ; mt[0] = s
:0201FA28 490B ldr r1, [pc, #2c] ; 0210ec00 (is &mti)
:0201FA2A 2001 mov r0, #1
:0201FA2C 6008 str r0, [r1, #0] ; mti = 0
:0201FA2E 490B ldr r1, [pc, #2c] ; r1 = 021d0af0 (is &mt[1])
:0201FA30 4B0B ldr r3, [pc, #2c] ; 6c078965
:0201FA32 0124 lsl r4, r4, #4 ; r4 = 0x27 << 4 = 0x270 = 624
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
#include <assert.h>
#include <vector>
#include <map>
typedef uint32_t u32;
typedef uint64_t u64;
0 ハジメ
1 ツギコ
2 イチミ
3 ミライ
4 チユ
5 パソキチ
6 アートス
7 アリョーナ
8 アッツォ
9 アントニナ
Rubyの実行環境が必要です。
kuji-list.rbでリスト出力できます。正しい結果になるのかわからないです。
実際には出てこない客もまじります。
客を0人にしておいて次の日にアベニューに入ると結果がよくなるかもしれません。
siborikomi.rbで出力したリストから絞り込みができます。
たとえばアートスとアリョーナが出てくる行を探すには「アートス アリョーナ」と入力。

使い方: アベニューの客を0人にする。そして次の日に来たファンの名前を入力する。ジムリーダーは除く。これを2回繰り返す。 操作の間お店を開いているファンが変わったりしないように。訪れたファンの名前は1日目と2日目とで同じ人数だけ入力する必要があり。

バイナリはavenue-seed-search-x64.exeとavenue-seed-search.exeの2つあります。64bit環境の人は前者をご利用ください。

Visual C++のランタイムが必要かもしれません。 http://www.microsoft.com/ja-jp/download/details.aspx?id=40784

2014/10/7追記: プラットフォームツールセットをVisual Studio 2013 - Windows XP (v120_xp)にかえておきました

// emcc -O2 avenue-seed-search.cpp -o avenue-seed-search.js --pre-js pre.js --js-library library.js -s EXPORTED_FUNCTIONS="['_setOpenedShops', '_setEmerged', '_setNumDays', '_solve']" -s ASYNCIFY=1
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
#include <string>
#include <vector>
#include <iostream>
#include <sstream>
#include <algorithm>