やおよろず

やおよろず

ゆるふわな内容を書いても良い。と言うか何でも良い。そんな自由度の高いブログをめざします。

ABC333 A-E を解く速度を振り返る

この記事は サステナブルなぴょこりんクラスタ Advent Calendar 2023 の為に書いたものです。

初めに

前回の続きです。
別ネタを準備しようと思ってたんですが間に合わなかったんだすまない。

軽く前回のおさらいをすると、
AtCoder で最近成績伸びないの、難しい問題を解く以前に簡単な問題を解く速度が足らなくない?
という話をしました。

今回は、前回参加した AtCoder ABC 333 を題材にして、
自分が問題を解いたときに何にどのくらいかけていたのか、
強い人はどうなってるのか、の分析をしていきたいと思います。

ABC 333 の自分の成績

これも前回のおさらいですが、ABC 333 の自分の成績は以下でした。

A問題B問題C問題D問題E問題F問題G問題
〇(0:51)〇(6:02)〇(15:29)〇(30:58)〇(44:41)(1×)××

誤答ペナルティ5分を足すと、この成績は5問を 49:41 で解いた成績となります。

1問平均10分、まぁそんなもんかなという気もしますが、これでは青コーダーにはなれんのだ、というのは前回も書いた通りです。

ABC333 A-E 問題振り返り

というわけで、今回はA-E問題の解いた様子を振り返りましょう。
こんなこともあろうかと当日解いていた様子はひっそり録画に収めています

youtu.be

これを今回は youtube 検索して見つけた強い方との内容と見くらべてみましょう。

www.youtube.com

雑に youtube 検索して見つけたもので比較をしましたが、
よく調べたらこのお方(こたつがめさん)はレッドコーダーで、
ABC333 の(レート対象外の人も含めた)総合順位は6位の方でした。やばすぎ。
まぁ、比較対象は高みにあればあるほど自分との差が浮き彫りになるというものなので、かえって良かったかもしれません。

お断り
この分析はこたつがめさんの許可を得ずに作成しています。
基本的に強い人の動きを参考しようというリスペクトの気持ちのみで作成していますが、
もしかしたら不快に思われる内容があるかもしれませんし、何かしら問題がある可能性はあるかもしれません。
問題があれば削除しますのでご連絡ください。
ここまでお断り

A 問題

A - Three Threes

問題要約

N (1~9) が与えられるので N を N 文字つなげた文字列を出力する

自分の解法要約

提出内容:https://atcoder.jp/contests/abc333/submissions/48533969

for 文で出すだけ

自分のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
00:1400:00ここまでで全問題をタブで開き、A問題を見始める
00:1700:03問題文を把握したのでコードを書き始める
00:3700:23最初のコンパイル
00:4100:27お試し実行開始。N=9 を試す
00:5100:38提出

まぁ51秒で提出してるのでこんなもんですよね。
実際のところ、テストもさぼったし、今回はかなりA問題を解くのは早かったと思います。

強い人のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
00:0400:00A問題を見始める
00:1900:15vim 起動、動作確認
00:2600:22提出準備開始
00:3300:27提出

比較した感想

vim で解いてる(  Д ) ゚ ゚

コード書き始めの時間は大差ないというのに、提出時間ですごく差が付きましたね。
こういうの vim では x@-pZZ でかけるらしい。みじかっ。
最近 vscode に乗り換えたけど自分は長らく vim を使ってたつもりではあるのですが、 これを真っ新な状態で書けるような覚え方はしていないし、この解法がぱっと出てきて一発で通せるというのには舌を巻きますね。 これが今の上級者の力か…

A問題の教訓:簡単な問題は vim など超ライトな方法で提出することを検討する

B 問題

B - Pentagon

問題要約

ABCDEの頂点からなる正五角形がある。
2つの線分を入力としてこの二つの線分の距離が等しいかどうかを判定せよ。

自分の解法要約

提出内容:https://atcoder.jp/contests/abc333/submissions/48542494

とりえる長さは辺の長さか対角線の長さの二種類しかない。
ABCDE を 012345 の数字と対応付け、入力を受け取ったら頂点の対応する数字の差を取ってみる。
差が1か4だったら辺の長さ、2か3だったら対角線の長さなので、
その結果を見比べれば良い。

自分のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
00:5300:00問題文読み始め
01:1600:23とりあえず入力受付部分だけ書きはじめる。(その後、少し悩む)
01:48-02:2000:55-01:27頂点を数字に割り当てて差を求めるコードを書く
02:36-03:0101:43-02:08差の値が常に正の数になるように線分の文字列をソート
03:26-04:1602:33-03:23差の値が2or3の時、1or4で決まる変数を設定
04:1603:23コンパイル。エラーをすぐなおす
04:2503:32コンパイル成功
04:2903:36テスト実行。結果がおかしいと気づいて考え始める
04:5103:58printf デバッグを書いて様子を見る。この後変数名ミスに気付く
05:1004:17変数名ミスを修正し再実行。まだおかしい。この後で定数の設定ミスに気付く
05:2404:31直ったのを確認
05:5805:05提出…の前に printf デバッグのコードを消して変な出力が出ないか確認するなど
06:0205:09提出

最初にコード書くまで大体3分半、デバッグに約1分、デバッグきれいにして提出するのに大体30秒、という感じですね。

強い人のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
00:4200:00B問題を見始める
00:5400:12問題文を理解する+A問題のジャッジ結果を確認する
01:0500:23vim 起動、ほどなくして実装開始
01:3600:54文字列受け取って頂点の数字の差をとり1 or 2 を返す関数を書く
01:4501:03一通りの実装が完成
01:5901:17テストケースでの通過を確認
02:1301:31手入力で追加で何通りかテストを試す
02:1801:36提出

うーん、はやい。すごい。

比較してみた考察

このレベルのコードで上級者は printf デバッグとか当然やってないんだよな。そりゃそう。
文字列を受け取ってから頂点の数字を取って 1 or 2 を書く関数をつくったのが印象的ですね。

int f()
{
   string S;
   cin >> S;
   int a=S[0]-'A', b=S[1]-'A';
   int d=abs(a-b);
   d = min(d,5-d);
   return d;
}

同じことを自分がやったコードが以下です

   string A,B;
   cin >> A >> B;
   sort(A.begin(), A.end());
   sort(B.begin(), B.end());
   int diff = (A[1] - 'A') - (A[0] - 'A');
   int diff2 = (B[1] - 'A') - (B[0] - 'A');
   int len = 1;
   if (diff == 2 || diff == 3)
      len = 2;
   int len2 = 1;
   if (diff2 == 2 || diff2 == 3)
   {
      len2 = 2;
   }

自分はとりあえず入力を変数にぶち込むとこを先に書いてしまいがちなので、
入力から始まる一連の処理を関数にする発想がなくてdiff1とかlen2 とか作りながらコピペコードを書いてしまうのですが、
このあたりを一つの関数にまとめることでバグを減らす効果がありそうです。
事実、自分がバグって困ったのは len2 とかの名前変更ミスとか len2 =1 に化けてたとかですし。
重複コードは廃すべきというのは理論上わかっているところではあるのですが、このまとめ方は思い浮かばなかったなぁ。

また、 値が1,4の時と2,3 の時をまとめる方法がわからなかった僕は diff==2 || diff==3 という格好悪い条件式にしていますが、
d = min(d,5-d) というスマートな書き方をしてるのもすごく賢いですね。

言われたら確かにそれでよいねってなるけれど、これを瞬時に出せる引き出しと速度があるのは強い…。

B問題の教訓:コードの重複を排除するテクはもっと身に着けられるところがありそう

C 問題

C - Repunit Trio

問題要約

10進数ですべての桁の数字が1である整数をレピュニットと呼ぶ。
3つのレピュニットで表せる整数のN番目 (N<=333)に小さいものを求めよ

自分の解法要約

提出内容:https://atcoder.jp/contests/abc333/submissions/48552335

N の数が小さいのである程度の数のレピュニットを配列で持ち、
for文を3つ回して和のリストを作ってソートし、N 番目を取る

自分のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
06:0300:00問題文読み始め
06:0900:06とりあえず入力を受け付けるコードを書きつつ考える
07:1101:08色々考えるも、同じ値のレピュニットを足してよいと聞いて少し悩む
08:0201:59そうはいってもfor文3つかけるので良いはずだと思う
08:2402:21レピュニット何個用意しよう…8^3 >333 だから8桁かな、と思う(間違い)
08:3802:35`lep[]={1,11,...11111111}` を用意
09:0102:58`for(i=0...8)for(j=0...8)for(k=0...8) v.add(lep[i]+lep[j]+lep[k])` と書き始める
09:4203:39`lep[0]+lep[1]+lep[0]` と `lep[1]+lep[0]+lep[0]` が重複して計算されるのまずいと気づく。とりあえず 8桁は9桁にする
10:2904:26lepの値はスカスカだし適当に重複排除するか…と思うも、 c++ でベクトルの重複排除の書き方を忘れたのでぐぐる
11:0405:011st compile、コンパイルエラーちょいなおす
11:1205:092nd compile、コンパイルできたのでテストを調べる
11:2605:23結果が一致しないので再考。
12:0806:059桁足らない説を予測してprintf してみるも空振りしたように感じる (本来この想定はあっていたが、printf の場所自体が悪かった)
12:3106:28そもそも `for(i=0...N)for(j=i...N)for(k=j...N)lep[i]+lep[j]+lep[k]` でいいから unique とか要らんわ、と思い書き直す
13:0006:57直すも結果がおかしかったり9桁で足りなかったり
14:2008:17sort を勢い余って消してるのを治しつつ lepを10桁で試す
14:5308:50lepを11桁で試す
15:1409:11lepを12桁で試して結果の一致を確認
15:2909:26printf コードをコメントアウトして提出

重複無しで足し算するなら for(i=0...N)for(j=i+1...N)for(k=j+1...N) だよね~ってのは割とよく見るのですが、
重複有りってなっただけでなぜか混乱して右往左往してしまったのがかなり反省点だなぁと思う。

強い人のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
02:2200:00C問題を見始める
03:0800:46vim 開く、こうか?というコードを書き始める
04:0801:46コードを書いてテストを始める
04:2001:58提出

2分かかってなくて草。

比較してみた考察

そもそも解き方が違うんですよね。
自分の考えた解き方は
https://atcoder.jp/contests/abc333/editorial/7982 で紹介されているものに近いですが、
強い人が採用した方法は
https://atcoder.jp/contests/abc333/editorial/7979 の解き方です。

肝としては レピュニットは1しかない数字なのだから3つ足しても各桁の値は最大で3までにしかならないし、
1の桁は必ず3だしこの数字は単調減少しかない、という話らしい。なるほど。
後者の解き方は自分は思い浮かばなかったんですが1分足らずでこの解法にたどり着くのは強いなぁ…。

それはそれとして。 自分の解き方でも editorial のページにある通りもっとコードは簡素にかけたはずなんですよね。
python では r = [int("1" * (i + 1)) for i in range(L)] と書いてるところを丁寧に手書きで作ってるところとか、
for 文の終端の値をハードコードしてるから逐一丹精込めて変えてるところとかに要領の悪さが出ていそうです
(そもそもそんなに変えるとは思わなかったので size とかとるのさぼったのが裏目った…)

また 11:26 時点で結果が合わないことから解き方を考え直して書き直していますが、
たぶん何かしらバグってるだけで 11:26 時点の解き方でも問題はなかったはずなので、
そういったタイムロスも響いていますね。

後は純粋に考察してからコード書き始めるまでも遅い。

C問題の教訓1:解法を変えると素早く解ける可能性がある
C問題の教訓2:{1,11,111...} みたいな定数のハードコードを極力なくしてきれいに書く努力をしたい

D 問題

D - Erase Leaves

問題要約

木(グラフ)構造が与えられる。
葉を除去する操作のみ認められてるとしたとき、頂点1を削除するまでに最小で何回操作が必要か?

自分の解法要約

提出内容:https://atcoder.jp/contests/abc333/submissions/48565924

頂点 n を削除する最小の操作数を ans[n]とするような配列を考えると

 ans_n = 1+ \displaystyle \sum_{k}^{nの子}ans_k

として再帰的に計算できるので、1 を root とした dfs で適当に計算する。

ただし、頂点1を削除するにあたっては子のうち一つを削除する必要はないので、
 ans_1 - max_{k}^{1の子} ( ans_k ) が答えになる。

また、そもそも 1 が葉であるときは ans[1以外] の値は計算されず上の式の値が変な値となるため、 このケースは特殊処理として1を返す。

自分のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
15:3000:00問題文読み始め
16:4101:11とりあえず入力を受け付けるコードを書きかける
17:3102:01ans[n] みたいなものがあればよいはずだな…と考える
18:0102:31枝を持つ構造体とか ans[n] とかをグローバル変数にお引越しし、再帰関数 rec で ans を計算しようとする
20:3505:051st compile, 色々エラー
21:4106:11dfs したいのに親もたどってしまう問題を修正。コンパイル通るが結果があわない
22:2106:51 printf デバッグしながら思い悩む
22:3407:04そもそも入力を受け取るところが不完全と気づく
22:5807:28修正完了したがまだ結果が合わない
23:4108:11ans[n] の計算結果が 1+ min(ans[k]) と間違ってることに気づく
24:3409:04ans[n]= 1+ sum(ans[k]) としたら ans[1] が答えにならなくない?と悩む
25:5610:26ans[1]-max(ans[k]) がこたえになるからいいか。と思ってコードを修正
26:3411:04直したがまだ答え合わない
27:5012:20ans[n] = sum(ans[k]) になってて +1 忘れてることに気づいて修正
28:2112:51だいぶよさそうだがテストケース2だけ落ちることに悩む
29:4514:15 ノード1が葉だと不都合があることに気づく。特殊処理を書く
30:5815:28 提出

強い人のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
04:2500:00D問題を見始める
05:1000:45コードを書き始める
05:4001:15入力受付部分済
05:5201:27あとはこの dfs を書けばOK、という実装ができる
06:0601:41 dfs 書き終わってテストをし始める
06:1301:48 提出

これも2分経ってなくて草

比較してみた考察

今回も似ているようで微妙に考え方が違いますね。 強い方の解法としては、
答えは min(N- (頂点1の隣接点を k としたとき、k から頂点1を経由せずに行ける点の集合(部分木)のサイズ)) といえるから、
この部分木を適宜 dfs で計算すればOK,というものでした。
1を削除した後で残ってる部分木のサイズさえわかればよいよね、的な。

この解法はノード1が葉の時の特殊処理が必要でない解法のため、
自分のようなデバッグに思い悩んでいないのが良いですね。

また、部分木を求める dfs は僕が ans を計算するときに書いた rec 関数と一緒ですが、書き方の練度と短さが段違いですね。

自分のコードだと

vector<int> ans(300000, INT_MAX);
vector<vector<int>> E(300000, vector<int>());

int rec(int cur, int p)
{
   if (E[cur].size() == 1)
   {
      // cout << cur << ":" << 1 << endl;
      return ans[cur] = 1;
   }
   else
   {
      ans[cur] = 1;
      for (int i = 0; i < E[cur].size(); i++)
      {
         if (E[cur][i] != p)
         {
            ans[cur] += rec(E[cur][i], cur);
         }
      }
      // cout << cur << ":" << ans[cur] << endl;
      return ans[cur];
   }
}

ですが、これを強い人に書かせると

vector<int> G[3<<17];
int dfs(int u, int p)
{
    int ch=1;
    for(int v:G[u]) if(v1=p) ch += dfs(v,u);
    return ch;
}

こうなる。

部分木のサイズを求める関数など頻出だからそりゃぁね、といわれたたらそうかもですが、
あまりに早くてビビりました。

  • 葉の場合の場合分けをする必要がそもそもない
  • n=1の結果しか必要ないので ans[N] みたいな変数定義とか詰め込みとかのコードは不要になる
    • 木のサイズがそこそこ大きくてなおかつ dfs(1), dfs(1の子), dfs(1の孫) とかを必要に応じて何度も計算する必要があるならあった方が良いけど。
  • そもそも for 文も int i = 0... みたいな書き方をしない方が速い

あたりがポイントかなぁと思います。

D問題の教訓:解をそのまま ans... みたいなテーブルに安易に入れずに言い換えを考えるとスマートにとける可能性がある
D問題の教訓2:部分木サイズの計算などよくある関数の記述方法はコンパクトに書く習慣づける (嫌ならスニペット化してもよい)

E 問題

E - Takahashi Quest

問題要約

以下のどっちかのイベントがトータルでN回起こる

  • タイプ x のポーションを発見する(とるか取らないか選択できる)
  • タイプ x のポーションで倒せるモンスターが現れる

モンスターを全部倒せなければ -1 を出力せよ。
モンスターを全部倒せるなら、道中の所持ポーション数の最大値を可能な限り小さくしたい。
その値と、各ポーション発見イベントで取る・取らないの行動を出力せよ。

自分の解法要約

提出内容: https://atcoder.jp/contests/abc333/submissions/48576060

イベントを逆順で見ていきつつ greedy で解く。

モンスターが出てきたら、対応するポーションは絶対にどこかで拾わなくてはならない。
道中の所持数の最大値を最も小さくするためには、
引き続きイベントを逆順で見たときに、対応ポーション一番最初に出てきたタイミングで拾えばよい。

そんな感じでポーションを拾う戦略を立てて、倒せないモンスターがいたら -1、
倒しきれるなら道中ポーションの最大値とポーション拾う・拾わないの結果を出力する。
道中ポーションの最大値は逆順で戦略を考えるなかでは計算しずらいので、正規のイベント順でシミュレーションする。

拾わなきゃいけないポーションの集合は重複を含みや挿入・検索・削除に O(N) かけたくないやつなので、
multiset を使って O(logN) で処理する。

自分のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
30:5900:00E問題開く
32:2101:22とりあえず入力受付部分を書き始める
33:1102:12multiset の削除ってどうかくっけ、をググる
34:5603:57大体わかったのでかきはじめ
37:0606:07逆順にたどって ms と行動選択を計算するとこまで完了。結果出力部書き始める
37:5406:551st compile、いろいろミスってる
38:1607:17コンパイル通るが結果違う(ここまで、最初の1行目にはとりあえず1を返せば良いと思っていた)
38:3107:32ポーション拾う数を答えるのか?と思ってコードを書く
39:1207:52書いたけどそれだとサンプルケースおかしくない?と気づく
40:0608:13出すべきは道中所持ポーション数の最大と気づく
41:1609:07ポーション取る取らない戦略は今のコードのままでよさそうと判断。道中所持ポーション数の最大値の出し方考える
42:3610:17愚直に最初からシミュレーションするコードを書き始める
42:5511:37コンパイル通ってテスト結果見る。拾う・拾わない戦略の結果が異なるが何種類か解がある代物なので放置
42:5511:56提出
42:5611:57F問題開く
43:0112:02とりあえず入力受付部分かく
43:1212:13E問題が Wrong Answer になってると気づく
43:2612:27サンプルでも落ちてる…だと…?
43:4912:50ポーション取る取らないの出力するとこ、モンスター登場ターンを飛ばすのを忘れて0を余計に出力してたと気づく
44:4113:42修正と再テストを完了して再提出

問題文の理解が中途半端なままコードを書いてめちゃくちゃもてあそばれてる感がありますね。

強い人のタイムライン

コンテスト開始からの時間問題開始からの時間やったこと
06:2700:00E問題を見始める
07:4801:21コードを書き始める
08:5702:30上から順にイベントを見ていき、積むパターンの出力まで終える
09:0002:33実装を書く
09:4403:17 結果出力あたりかく
10:0003:33 コンパイル通ってサンプルを使ったテストを始める
10:5004:23 提出

リアルタイムにみててどういう解法してるのか理解できなかったけど爆速で解いてて笑った。

比較してみた考察

今回も解き方は微妙に異なっていますね。

僕はイベントを逆順に見ることで「モンスターを倒すときに必要なポーションは最後に獲得する」を実現していましたが、
強い方の解法ではイベントを普通に上から順に処理しながら、各タイプのポーションがいつにあるかを vector で記録し、
必要となったら pop_back() でモンスターの登場前に最後にとれるポーションを使う、という実装をしていました。
また、この解き方だとモンスターが出るタイミングでポーションを拾う箇所が確定するので
最大所持数のカウントに難ありかとも思われましたが、imos 法(説明略)を使って計算を行っているようです。
もっとも、どちらにせよ for 文は2回書かないという点ではどっちも同じですが…

この辺りはまぁ…解く速度の観点ではそんなに違わないかな…という気もしますが、
multiset を使わないだけ計算量の観点では vector を使った方が強そうですね。

E 問題についてはどちらかといえば、
問題文を十分に読まずに勘違いして先に進んで手間取った所が響いたかなぁ、という気がします。

あとはなんかこう… imos 法とかを記述する練度が半端なくて
ノータイムでさらさら書いてるのが強いなぁと思いました。

E問題の教訓:問題文の誤読に気を付ける  

終わりに

というわけで今回は、 ABC 333 の A-E 問題を題材にして自分のタイムラインと強い人のタイムラインを比較し、
それぞれの問題を見比べた教訓を書き並べてみました。

ここで得られた教訓みたいなのは頭ではわかってはいる気でいたのですが、
実際に強まった人のプレイングを見るといかに実践するのが難しいのかが身に沁みますね。

たぶん今後も全盛期みたく ABC に毎回参加じゃ!みたいな勢いは出せないとは思うのですが、
参加は継続しながら、適度な研鑽の仕方を模索していきたいなぁと思います。

入水した元青コーダーの自己分析

この記事は サステナブルなぴょこりんクラスタ Advent Calendar 2023 の為に書いたものです。

初めに

競技プログラミングってあるじゃないですか。
僕が競技プログラミングの話をアドベントカレンダーでするのは実は2018年の初参加時同年最後の記事 ぶりで、 もはや忘れてしまった人もいるような気がするのですが、僕は一応細々と競技プログラマーを続けてはいます。

続けてはいるものの、近年では競技プログラミング以外にやりたいことも増え、
以前のように「休日はひたすら家にこもって過去問を解くぞ!」みたいな熱もなく、
以前は毎週末参加していた AtCoder のコンテストも、
今では気が向けいたら参加して結果に一喜一憂する程度の日々が続いていました。 *1

そんな調子では当然のように実力やレートが向上するはずもないわけですが、
その結果としまして…

ついに青コーダーから水色コーダーに格落ちと相成りました*2

一般的には、水色コーダーというのは決して低レベルではなく、
緑コーダーから水色コーダーに挙がることを「入水した」と喜ぶブログは結構あったりします。

しかしその一方で、青コーダーを長らく維持しており、
全盛期には黄色も目指していた自分といたしましては、この変化はなかなかに悔しいものでした。

まぁ、そもそも鍛錬が足りていないのですから、遅かれ早かれこうなっていたことでしょう。
ただ一つだけ言い訳じみたことを言っておくと、
ブランクが空いた際には実装に手間取ることこそあれ、
力が衰えてきたな…という感触があるかというと、あまりそういう感じはしないんですよね。

どちらかというと、最近の AtCoder をやっている感触というのは、
「自分の中で『まぁこんなもんか…』と思った成績でもレートが落ちる。青コーダー維持が滅茶苦茶しんどい」
という感じでした。

「昔の青コーダーならこのくらいで良かったよね」という水準が許されなくなってきた感じです。

もっとも、全体的な競技レベルが上がってきてることは一般的な感触として喜ぶべきできごとですし、
変化についていけないのは時代に取り残されるおじさん然としてなかなか悲しい話ですが。
練習してないからしょうがない。

とはいえ、じゃあこのままずるずるレートが落ちてしまうのもよくはない気がするので、
今回は最近参加したコンテストなどを振り返りながら、
青コーダーに今求められてるレベルについて、最近思うことをつらつらと書き連ねたいと思います

レーティングの仕組みと青コーダーの立ち位置

AtCoder と、レーティングについておさらい

たぶんこのブログを読んでる人はおおむね知っている話かとは思うのですが、念のため。

AtCoder というのは競技プログラミングのサイトの一つです。
Algorithm(答えがある問題を時間内に解くプログラムを書く) と Heuristic(答えを出すのが困難な問題で限り良い答えを出すプログラムを書く) の二部門あり、
今回話題にするのは Algorithm の方です。

毎回のコンテストの成績に応じてレートが上下し、色によって以下のような段階分けがされています。

  • TopRanker:Top300位以上。色分けのレベルを超越した殿上人
  • 赤:Rating 2800 以上
  • 橙:Rating 2400 以上
  • 黄:Rating 2000 以上
  • 青:Rating 1600 以上
  • 水:Rating 1200 以上
  • 緑:Rating 800 以上
  • 茶:Rating 400 以上
  • 灰:Rating 400 未満

今回話題にしている青コーダーはちょうど真ん中あたりになりますね。
また、一つ覚えておくとよい話としては、
毎週のように開催されている AtCoder Beginner Contest (ABC)でレートが付くのは青までで、
全員がレート変動の対象になるコンテストは AtCoder Regular contest (ARC) というもので、こちらは開催頻度を抑えめにしつつ容赦ない難易度が出てくる感じです。

細かな話は以下の方がわかりやすいかと思います。

info.atcoder.jp

つまりは青コーダーというのは ABC に Rated で参加する人の中では一番強いレベル帯のプレイヤーということになりますね。
僕は最近もっぱらABCしか参加してないので、ABCにフォーカスを絞って話をしていきます。

AtCoder ABC の問題セットの特徴

最近の ABC の問題は7問セットが多いです。問題はアルファベット表記されててA問題からG問題まである感じ。
直近3回分のコンテストを見てみると、点数配分は以下のようになります。

ABC331 ABC332 ABC333
A問題 100100100
B問題 200200200
C問題 300300300
D問題 450425400
E問題 450525450
F問題 525550550
G問題 625625625

だいたいDEF問題が点数のばらつきがありつつ、最強枠にG問題が常にいる感じですね。
100分の時間ないにこれを全問解ける人というのはRating 対象者の中では1桁人程度*3で、 G問題までたどり着くことはまれです。青コーダーの中で差がつくところは大体DEF問題のできですね。

AtCoder ABC の振り返り

直近の自分の成績

それではここで、これらコンテストの自分の結果を見てみましょう。
かっこの中の数字はコンテスト開始から解くまでにかかった時間です。

ABC331 ABC332 ABC333
A問題 〇(2:07)〇(1:55)〇(0:51)
B問題 〇(5:34)〇(6:00)〇(6:02)
C問題 〇(13:21)〇(13:24)〇(15:29)
D問題 〇(86:07)〇(34:57)〇(30:58)
E問題 〇(97:15)×〇(44:41)
F問題 ×〇(76:04)×
G問題 ×××
誤答 001
順位(Rating対象のみ) 10732411060
パフォーマンス 139118891400

というわけで現在の自分の実力は、
7問中5問くらいはコンスタントにといているけれど
6問は解けない程度ということがわかるかと思います。

AtCoder ABC の1600パフォーマンス

上の表で断りなく使いましたが「パフォーマンス」というのが、
「このコンテストの結果だけで観たらこのくらいのレートだよ」という数字を表します。
昔はこういった値は見られませんでしたが、最近はこの値が可視化されるようになって便利な話ですね。

青コーダーだったものとしては最低でもパフォーマンス1600を取りたいところですから、
直近のパフォーマンス 1600 の人の成績を調べてみます。

ABC331 ABC332 ABC333
A問題 〇(1:49)〇(10:47)〇(1:02)
B問題 〇(4:02)〇(9:01)〇(5:38)
C問題 〇(7:09)〇(6:38)〇(11:46)
D問題 〇(18:24)〇(16:57)〇(18:04)
E問題 〇(37:25)×〇(27:56)
F問題 ×××
G問題 ×××
誤答 201
順位(総合) 882751903
パフォーマンス 160016001600

これからわかる通り、1600(青コーダーのボーダー)のパフォーマンスというのは、
たいてい500点未満の問題を全部解きつつ、その実装が速いことが求められていることがわかります。

誤答は5分のペナルティなので
ABC331 では5問を47:25、 ABC332 では4問を16:57、ABC333では 5問を 32:56 以内に解ければ
青コーダーの下っ端の水準、というわけですね。

考察と個人的な課題認識

5問を50分とか35分とか4分を16分とかってさらっと言いましたが、
1問あたり10分だったり、簡単な奴に至っては4分とかのペースで解いていく必要があります。
いくらA問題は1,2分で解くもの見たいになっているとはいえ、結構なハイペースですよね。

うすうす感づいていたことなんですが、
どうも僕はこの「500点未満の問題の速解きスピード勝負」がかなり苦手っぽいんですよね。

ABC332 のように 550 点の問題まで解けるのが個人的な勝ちパターンではあるのですが、
残念ながらその精度が安定しない中、
400点台の問題だけしか解けず終わった時に速度がないから低レートというのが典型的負けパターンとなっています。
ABC331のように、400点台の問題の実装が重めのやつでバグに苦しんで次の問題にチャレンジできないこともありますしね。

こういった考察から、最近の AtCoder の青色落ちした要因を自己分析すると
「そもそも500点台の問題を解けるようにするだけでなく、基礎的な問題を素早く解く能力が足りてないのでは?」
という点を強く感じています。

もともとは AtCoder って5問セットなどで、
こういった早解きより難しめの問題にじっくり時間をかけて臨むチャンスが多かったのですが、
7問になってからは「簡単な問題はちゃんと素早く解くこと・間違えないこと」
みたいな点の要求レベルが高くなり、そう言った変化が*4自分にとっての逆風なのかな、と。

「考えすぎて計算効率の良いコード書いちゃったけど、この制約なら深く考えずに for 文ぶん回せばいいじゃん」
みたいなところで実装時間を吸われることも増えました。
(とはいえ、こういった傾向は
「与えられた制約下で最適なコードを素早く書けるのがよく、複雑な解法をかければよいという話ではない」
 ということを意図して作られているのだと思いますし、この意図自体には賛同しています)

このあたりを伸ばすにはどうしたもんか…というのはまだ模索している段階ではありますが、
直近では難しいアルゴリズムや解けなかった問題に思いをはせるだけではなく、
解けたけど時間がかかった問題にフォーカスを充てることが自分には必要なのかもな、と思っています。

(参考)AtCoder ABC の 2000パフォーマンス

参考までに黄色コーダーのボーダーを見てみましょう

ABC331 ABC332 ABC333
A問題 〇(1:50)〇(2:16)〇(0:50)
B問題 〇(4:10)〇(5:29)〇(5:25)
C問題 〇(7:46)〇(8:42)〇(9:39)
D問題 〇(36:44)〇(20:28)〇(24:11)
E問題 〇(41:52)×〇(49:34)
F問題 〇(72:24)〇(41:15)〇(71:26)
G問題 ×××
誤答 200
順位(Rating 対象) 193166190
パフォーマンス 200020012000

このように黄色パフォーマンスになると6問は解けるようでありたい感はあります。
F問題を解くのに20分-30分のペースが必要があり、結構な速度が求められそうですね。

おわりに

というわけで、最近の競技プログラミングの結果からみるに、
難しい問題を解くスキルも必要だけど、簡単な問題を早く解くスキルも学んでいった方がよさそう、という話でした。

本当は時間がかかったところの考察みたいな話を書こうと思ったんですが、時間の関係で今回は(?)ここまで。
金曜日に向けて用意してるネタが没ったら解くのに時間がかかったる問題の考察記事が載るし、
そうでなければ準備中のネタが載ると思います。

*1:TopCoderOpen や GoogleCodeJam などの大きなコンテストも終了し、熱の覚める一つの要因だった感

*2:青、とか水色、とかはレートに応じて付与される色で、競技プログラマーはこの色でレベル帯を区別しています

*3:黄色より上の人まで含めればもっといますけど

*4:とはいえこの変化があったのも随分前だったと思いますが

台湾旅行とTOCFLの話

この記事は サステナブルなぴょこりんクラスタ Advent Calendar 2023 の為に書いたものです。

はじめに

前回 沖縄旅行の話をしたばっかりですが、
今回も旅行と資格試験の話なんだすまない。

ま、旅行にしたって資格試験にしたって、
一つやった程度ではちゃんと取り組んだとは言い切れませんからね。

前回書いた通り、 今年は興味のあるお勉強をしてみよう+去年SFC修行した分を有効活用していきましょうがテーマ
ということで、台湾に旅行した周辺の話をしたいと思います。

僕と台湾

なんやかんやご縁があって、実は過去に台湾には3回ほど行ったことがありました。
2回ほどは学会周りとかだったので、ちゃんとして旅行で行ったのは1回なんですけども。

ちょうど旅行に行ったのが新型コロナが流行する少し前で、
また行きたいなぁと思っている所を新型コロナにブロックされ続けたので、
そろそろ旅行もしたいよねと思うにあたり、気軽に思いつく行先でした。
距離的にも時間的にもお手頃ですしね。

ふんわり始めた中国語のお勉強

四回目の台湾ともなると、ただ台北に行って夜市を回って…
みたいな定番どころに行き満足するだけじゃなく、
少しチャレンジじみたこともしたくなってくるところです。

じゃあ…台湾中国語の勉強でもするか。と、思いました。

もともと僕は言語の勉強が割と好きな方で、
大学時代に第三外国語として半年~1年ほど中国語の授業を取ったことがあります。*1
一~十の発音とか、我是日本人*2くらいは言えるベースラインがある、くらいの感じ。

なので、今回はそこからもう少しだけ踏み込んで、
お買い物に使えるフレーズをいってみて伝わったりとか、
ちょっと小耳にはさんだ・目にした言葉がわかる、みたいな体験をしたい、というのがモチベでした。

台湾旅行前の勉強

とりあえず文法系一冊、単語系一冊を買いました。
良し悪しは正直わからないです。台湾中国語の本ってだけで貴重ですしね。

僕は「言語は単語を覚えてなんぼよ」と思ってるタイプなので、
文法系の本は前半2/3を流し見してくらいでちゃんとは勉強せず、単語をひたすら覚えることに集中した気がします。
そもそも、正しい文章の理解ができるほどのスピーキング・リスニング力を求てるわけでもなく、
単語の知識詰め込んで「この単語知ってる!」をするのがメインでもありますからね。

というわけで、半年たった今ではもう忘れてる…程度の薄い記憶ではあるものの、
とりあえず1000単語くらい記憶にぶちこんで台湾に行ってきました。

台湾でいったとことか写真とか

めちゃくちゃ予定を決めていたわけではなかったですが、割と自由気ままに行きたいとこ行ってました。

足湯・角質取りのお店に行ってみたらすごい足が楽になったし結構悩みだった足のカサカサが消えたとか。

事前に youtube で見て気になってたお店で耳掃除してみたらこれもまたすごいすっきりした、とか。

結構奥まった所にある温泉に行ってみたりとか。

SFC修行の成果を生かして帰り際のラウンジで小籠包ビール祭りをやったりとか。

自由度の高い一人旅だったので、めちゃくちゃやりたい放題やってました。

勉強の成果と感想

まぁ1000語覚えただけで目覚ましく中国語がわかるような訳は当然ないわけですが。
ほんの少しではあっても単語がわかったり、読めるようになるのは楽しかったです。

具体的な例で挙げると、
周囲の会話で出てきた左邊(ゾウビェン、意味は左側) が聞き取れたり、
ホテルのエレベーターに乗った時に清掃のお姉さんに言われた早上好(ザオシャンハオ、意味はおはよう)がわかったり、
会計の時の数字の呼び方(例えばリャンバイウー=兩百五=250、みたいな)に気づけたり、
菜單がメニューの意味だったなぁ…とみてわかったり。
昼ごはん食べるためにお店の前で並んでた時に聞かれた「イーウェイ?」が「一位(日本語では一人)」とわかって「イーウェイ」って返せたりもしました。

完璧ではなくとも、こういった「これ進研ゼミでやったやつだ!」みたいな快感が得られるのは楽しくていいですね。

ちなみに単語帳には載ってないんですが、
必要性に駆られてググって覚えた最重要フレーズは「聽不懂(ティンブードン)」でした。
意味としては「聞いてもわからないよ」です。
こちらが中国語を使いだすと向こうも中国語で話しかけてくるので、
簡単なフレーズだけいって返事がわからんかったら「聽不懂、我是日本人」っていっとけば大体何とかなります*3
あとは指さしと一緒に「這個(ジューグ、英語でいう所の this one)」って言っとけば割と何か一つ買うくらいは割といけます。
まぁ、こういうチャレンジができるのも、割と英語か日本語どっちか使えばたいてい何とかなる安心感もあるからですが。
そういう安心感があるのも台湾のいいとこだなぁ、と思います。

日本語も英語も伝わらないけれど、
スマホgoogle 翻訳使いながらうまい具合にコミュニケーション取ってくれたおばちゃんに助けられたりもしました。

便利な世の中ですね。

台湾旅行を終えて、TOCFL受験へ

というわけで旅行から帰って、台湾中国語の勉強はひと段落…としてもよかったのですが。
楽しかったのでしまたそのうちまた行きそうだなーという直感もあるし、
そこそこ勉強してよかったな、という思いがあったため、
もう少しだけ台湾中国語とむきあいたいな、と思ったんですよね。

せっかく勉強したのだし、何かしら試験で儲けてみるか…と思い、調べてみたところ、
TOCFLという台湾中国版TOEFLみたいな試験があることがわかりました。というか単語帳の後ろとかに色々書いてあった。

TOCFL はBandA~Cの三種類の試験があり、
BandA では成績に応じて (不合格 or) Level 1(入門級), Level2(基礎級)
BandB では成績に応じて (不合格 or) Level 3(進階級), Level4(高階級)
BandC では成績に応じて (不合格 or) Level 5(流利級), Level6(精通級)
という判定が出される(ちなみに判定はリスニング・リーディング・総合、の3つがそれぞれ出る) というものです。

この6段階の基準は、CEFR (ヨーロッパ言語共通参照枠)って呼ばれる
ヨーロッパでの外国語習得レベルを意識した段階分けだそうです*4

あまり旅行後に勉強時間が取れるわけでもなさそうだし、とりあえずは BandA をチョイスしました。

TOCFL 受験までの準備

試験の申込とかは以下からできます。

tocfl.jp

最も、このページは本家へのリンクに加えて申し込み方法ガイドラインみたいなのが掲載されてるだけなんですけど。 でもこういうガイドがあるだけでだいぶ助かります。

勉強は、単語帳を再度確認するのでいいか…と思っていましたが、
飽きてきてしまって割と試験直前まで勉強をさぼるようになったので、別途テキストを購入。

store.taiwan-ryugaku.com

このテキストと、ワークブックと教師用ガイドをかいました。
今リンクを見る感じ、ワークブックと教師用ガイドは入手困難かもしれないですね。
「なんで教師用ガイド?」と思うかもしれませんが、
ワークブックやテキストの練習問題の解答が教師用ガイドにしかないので教師用ガイドの購入は必須です。

また、このテキストは英語のテキストなので中国語を英語で学ぶ気概がそれなりに必要になります。
まぁ、レベルも緩めだしある程度下地があればいけるいける。

とは言いつつ、試験前には、このテキストにある全レッスン15中14くらいまでを一通り勉強したところで力尽きました。
リスニング力を鍛えるためにテキストの文章を音声でききながら聞ける範囲でディクテーションした、
各レッスン割とじっくりやったこともありましたが…
1レッスンあたりダイアログが2つあるので試験前の数週間で取り組むにはだいぶ重めの内容です。
ちなみに、このテキストはシリーズが6まであるため、おそらくこの本のレッスン15までが Level1 相当なのだと思われます。
1000単語覚えたしBandA くらいは楽勝でしょう~という軽い気持ちで手を出してしまいましたが、結構ハードでしたね。

TOCFL 試験と結果

受験当日は割と昔受けた英検と変わらないような印象です。
40人くらい入る教室にぎっしり受験者がいて、マイナーだと思ってはいたものの結構同じような取り組みをしている人がいることに驚きました。
受験者同士顔見知りっぽいグループもいたし、どこかの中国語教室の人が受けてたりもするのかもしれないです。

で、受けてみて、肝心の結果ですが。

リスニングがLevel1、リーディングがLevel2、総合Level2、という結果になりました。
ちなみにリーディング、リスニングそれぞれ80点満点です。
リーディングは八割分かった気でいたのですが、割と満点近くの結果だったのはうれしいことです。

個人的には過去問とか解いた感じリスニングもワンチャン Level2(80点中57点以上)を狙えるかなと思っていたので、
その点だけは力及ばずでやや悔しい。
個人の体感としては、過去問よりもだいぶリスニングは難しくなってた気がしましたし、手応えもなかったのでまぁこの結果も納得感はある。リベンジはしたい。

終わりに

というわけで今回は、台湾観光をきっかけに中国語を勉強したというお話でした。 ゆうてまだ台湾の台北付近しか観光してないので、今後は台南とかさらに色々なところに足を広げてみたいと思います。

*1:ちなみに第二外国語はフランス語で、仏検四級は当時取りました。勉強しなおすのは悪くないかも、という気持ちは今でもあります(優先度が低すぎるので実現はしませんが…)

*2:あいあむじゃぱにーず

*3:現地の方からしてみたら中国語しゃべるのしゃべらないのどっちやねん、という話かもしれませんが。許してほしい

*4:余談ですが、この前英検をうけたら英検でも CEFR でいうとこの値…という値が出るようになってました。割と広まってる概念なんですかね。しらなかった

世界遺産と沖縄旅行の話

この記事は サステナブルなぴょこりんクラスタ Advent Calendar 2023 の為に書いたものです。

はじめに

2021年には↓のように資格ジャンキーみたいなことをしている僕ですが、 yaox.hatenadiary.jp

2022年では日記にも触れなかった通り、あまり資格勉強をしてこなかったです。
というか、勉強自体をあまりしなかったなぁ、という反省がありました。

これには、資格試験をとるインセンティブが職場での報奨金が出る半面、
色々取った結果として取れそうな or 興味がある方向の資格がだいぶ枯渇していた、という背景があります。

2023年は個人的には、報奨金とか関係なしに自分が興味のあるお勉強をしてみよう。と思った年でした。

今回は、そんななかで受けてみた世界遺産検定についての話だったり、
沖縄で実物を見に行ったりしてみたので話をしてみようと思います。

世界遺産検定との出会い

世界遺産検定という検定があることは、昔からよく見ているクイズノックを通じて知っていました。

www.youtube.com

僕は去年の記事でSFC修行をしたりとか、そもそも旅行(特に海外)は結構好きな方だと思っています。

yaox.hatenadiary.jp

ただ、旅行が結構好きと思う一方で「次に旅行でどこ行きたい?」っていわれたら割と答えられなかったりするので、
世界遺産を学ぶことで行先の候補が浮かんだり、ここで勉強した知識があれば旅行がもっと楽しくなるのでは? と思いました*1
そもそも社会科に分類される科目は結構な苦手意識があり、
世界の国の場所とか(日本世界両方)歴史とかの知識も乏しいのも個人的課題認識にあったりもし。
加えて、ちょうど今年の3月にテキストが刷新されるという話もあったのも後押しになました。

てなわけで、とりあえず雑に買って読んでみるか、という所から勉強が始まりました。

世界遺産検定の勉強~合格するまで

4級

とりあえず4級のテキストを買ってみました

4級テキスト – 世界遺産検定

4級の試験範囲は日本の世界遺産25か所+主要な世界遺産32か所だそうです。

僕はそもそも日本の世界遺産25か所を把握していなかったレベルだったため、読み物としても結構面白かったです。
一番最初に出てくる知床の時点で「これ世界遺産(自然遺産)なんだ…」って感じでしたしね。

一通り読み終えてから、一緒に買っておいた過去問をチェック。


……
………

割と余裕かもしれん。

と、なりました。
個人的には、雑な日本史知識と日本地理知識と読みたてほやほや世界遺産知識があれば、割かし余裕そうです。

と行うわけで、予定を変更し、3級に焦点を定めてみます。

3級

テキストを買いました

www.sekaken.jp

範囲は日本の世界遺産25か所+世界の世界遺産100か所だそうです。増えましたね。
一通り読んでから過去問を解き
「こりゃ勉強しないと解けないな」という手ごたえをつかんだため、ちゃんと勉強することにしました。
具体的には、教科書を二周すると同時に、
巻末にある地図を用いて場所から世界遺産名をあてるゲームをしたり、
最後の索引にある用語からその言葉が何を指し示すものなのかを思い出すゲームをしたりして勉強しました。

受験~合格

世界遺産検定3級の受験はパソコン受験なので、割と軽い気持ちで申し込めました。

結果

サクッと合格、ヨシ!

というわけで、世界遺産検定3級を取りました。

世界遺産と沖縄旅行

あまわりパークとのであい

さて、そんな感じで世界遺産について少しだけお勉強をしたわけですが、
それはそれとして、去年さんざん羽田~沖縄を往復したけど沖縄堪能してなくない?という思いから、沖縄旅行を考え始めました。

そうしてぼんやり沖縄の旅行を考えていると見つけたのがこちら。

www.youtube.com

世界遺産のお勉強をした結果としてあまわりパークなる施設が最近できたという話が、
個人的にめちゃくちゃツボってしまったんですね。

僕は世界遺産検定の勉強をするまで、あまわりのことを知りませんでした。

世界遺産4級のテキストにて、世界遺産琉球王国及び関連遺産群」の説明には、以下のような記述があります。

中山王の重臣でのちに王から謀反を疑われて自害した護佐丸(ごさまる)の居城であった中城(なかぐすく)城跡、その護佐丸と対立して最後まで琉球王国に抵抗した阿麻和利(あまわり)の居城であった勝連城跡など、…

というわけで、あまわりは琉球王国が統一される前に抵抗した人、みたいな紹介でした。

3級のテキストになるとさらに説明が省略されていて

12~13世紀に気づかれたとされる阿麻和利(あまわり)が居城とした勝連城跡が登録されている

と書かれてるだけです。何もわかりませんね。
ちなみに、勉強の時に頑張ってぐぐって調べたりもしたんですが、
勝連城跡と一緒に名前が出てくる・琉球王国統一の際に倒された方の人、以上には割と何もわかりません。

一応は検定的に問われそうなする人名だから一応は覚えたんですけど、
説明のされ方的にもパックンフラワーくらいのキャラ認識だし、割とよくわからんな…と思ってた人だったため、
施設の名前などで大々的にアピールされるのはかなり予想外でした。

行くしかねぇ。教えてもらおうじゃないか、阿麻和利(あまわり)のことを。

というわけで沖縄旅行はあまわりパークにもいくプランで計画を立てました。

あまわりパークに行ってみて

と、言うわけで行ってきました。

あまわりパークと勝連城跡の入場券がセットで変えて、
あまわりパークであまわりに関する説明とかムービーとかを見ることができて、
知識を深めて勝連城跡を見て回れる…みたいな感じです(土日だと舞台とかもやってそうですが、曜日が違ったので残念)。

ちょうど僕が見たときのムービーは、あまわりの奥さんの話でした。

あまわりの奥さんは右から二番目、「ももとふみあがり」さんだそうです!!

名前のインパクトが凄すぎてめっちゃ覚えました。名前だけ。
政略結婚みがあったり親族関係が入り組んでたりするのはあるあるだなぁ、というお気持ち。

ちなみに漢字は百十踏揚と百度踏揚の二種類が混在してましたが、
沖縄の知り合いにその話をしたら、そもそも当て字だからしょうがないね…って言われました。納得みある。

そんなこんなで展示物も一通り見てきてあまわりについて分かったをまとめると

  • 阿麻和利は勢力拡大を目的として首里王府に侵攻したけど王府軍に敗北した。いわば逆臣として知られている。
  • ただ、琉球最後の歌謡集では勝連の繁栄や阿麻和利をたたえた詩が多い。
  • 逆臣ではあったけど、地元の人から見たら阿麻和利って英雄だったんじゃね?
  • 現代版組踊?の演目として地元の中高生ではよく知られてるっぽい www.amawari.com

みたいな話だと思われます。これ以上はわからん。

その後、勝連城ものぼってみましたが、お城や周辺の景色はきれいでした。

おまけ

当初予定にはなかったんですけど、
午前中に美ら海水族館をまわった日の昼ごはんで少し美ら海よりも北の方にいったら、目当てのお店の駐車場にたどり着けず、
たまたま近く(徒歩20分ほど)に「琉球王国及び関連遺産群」の構成資産の一つである今帰仁城があったので、
今帰仁城の駐車場に車を止めて見て回ることにしました。

場所しらべてなかったんで「へー、今帰仁城ここにあるんだ」って感じだったんですが、
それはそれとして、徒歩20分の道のりを近いと考えるのは沖縄ではやめましょう。焼け死にます。

おわりに

世界遺産検定を受けたことで当初目的通り、旅行の行先とか考える所の候補が広がって楽しかったです。

ちなみに世界の遺産で行ってみたいのはベネチアなんですけど、
オーバーツーリズム(観光公害)で危機遺産登録が議論されてたり
入場料取られたりしだしてるので行きたいような行っていいのか悩むような…でちょっともにょってたりする。 jp.reuters.com

*1:ちなみに、今回のアドベントカレンダー1日目の nbisco 氏の記事 にて 「10:08 に紀元前のイランの浮彫」と写真があがってる、イランの世界遺産であるペルセポリスの構成資産の一つなので、勉強の中で見覚えがありました。
夏ごろに試験を受けてから時間が経ってたので名前は出てこなかったのが悔やまれますが、
去年にこの記事をみていたら何も思い浮かぶところがなかったという点では勉強してよかったな、と思います。

最近は男子バレーボールが熱い、という話

この記事は サステナブルなぴょこりんクラスタ Advent Calendar 2023 の為に書いたものです。

はじめに

2023 年もそろそろ終わりですね。
2023 年で一番印象的だったニュースといえばなんでしょうか?

もちろん、バレーボール男子日本代表がパリ五輪出場を確定させたことですよね!*1

www3.nhk.or.jp

冗談めかしていいましたが、これは本当にすごいことだと思うんですよ。
凄いことだと思うんですけど、自分の周辺では僕が進んでしない限りほとんど話題にならなくて、寂いなと思うわけです。
寂しいので、バレーボール観戦するのがちょっと好きな一般民の立場から、
最近男子バレーが面白いってオタク語りをしたいと思います。

読者想定

スポーツの話って読者の知識レベルの想定が難しいですね。
とりあえず、僕がこの記事を書くにあたって想定してる読者の知識は以下のような感じです

  • バレーボールのルールや、レシーブ・トスといった言葉がなんとなくわかる
  • バレーボールって日本は女子が強いんじゃないの? って思ってる

最近男子バレー強いよね~って状況を知ってる人からしたらこの記事の内容はだいたい既知かもしれないです。ごめんなさい。
むしろ知ってる人だったら教えてください。一緒にVリーグの観戦にでも行きましょう。

念のためのおことわり

最近面白いという話を説明するにあたり、
「男子バレーは昔は面白くなかった」「女子バレーより面白くなった」といった話をします。
このため、比較対象に対してネガティブな言い回しをすることがありますが、選手個人や特定団体を批判する意思はありません。

バレーボールの話題と思って偶然この記事を見つけた人のために念のため補足しておくと、
この記事は身内向けの記事で、筆者はちょっとバレーボール好きな程度の素人です。
「なんか素人がバレーボールについて変なこと言ってるなぁ」程度の感覚で見守っていただければ幸いです。

女子バレー好きから男子バレーに注目が移った経緯

僕が女子バレーを好んでいた経緯とその理由

昨今のバレーボール事情に詳しくない人からすればおそらく、
「日本は女子バレーボールが強いんじゃないの?」って思う人の方が多いんじゃないでしょうか。

1964年の東京オリンピックで金メダルを獲得して「東洋の魔女」と呼ばれたことだったり、
日本で開催される世界大会がテレビ中継されて盛り上がったり、
2012年前のロンドン五輪では銅メダルをとっていることを知っている人もいると思います。
www.joc.or.jp

僕も数年ほど前まではその認識でしたし、バレーボール観戦自体、母が女子バレーをテレビで観戦してるのがきっかけです。

少し脱線して昔話をすると、バレーボールって1998年・1999年ごろに大きめ(主観)のルール変更があるんですよね。
1998年には、守備専門の「リベロ」というポジションが追加されました。
1999年には、ラリーポイント制になったことで、(雑に言えば)相手チームのコートにボールを落とした側に必ず得点が入るようになりました*2
僕のバレーボールの試合を見始めたのはこれらルール改正より前だったので、
かれこれ25年以上はバレーボール観戦を続けていることになります。

それだけ長い間観戦してきたわけですから当然、男子バレーの試合のテレビ中継で観ることも何度かありました。

しかし、男子バレーの試合と女子バレーの試合を観戦していく中で、
「女子バレーの方が面白い」という風に思うようになり、次第に女子バレーだけを見るようになりました。
自分の行動を裏付けるかのように、
テレビ中継も女子バレーの方だけやるようになっていった(もしくは男子バレーが深夜枠に追いやられた)と記憶しています。

日本男子バレーは2008 年に北京オリンピックに出場しているのでその時の試合はそこそこ見てたと思いますが、
その時の記憶を含めても「女子バレーの方が面白い」の感想は変わりませんでした。
(ちなみに北京オリンピックでは0勝でしたね…) number.bunshun.jp

ここで自分が感じていた「女子バレーの方が面白いな」を言語化すると、以下のような点があると思います。

  1. 強烈なスパイクを受けても食らいついて球を広い、粘って粘って勝利をもぎ取る姿が面白い
  2. 攻撃の手段が多彩で面白い

1 については日本のお家芸とよく言われていますね。
日本の女子バレーボールはディフェンシブなチームとしてよく知られていて、
身長がない代わりに強烈なスパイクでも食らいついて点を取らせないところが強みでした。
なかなかボールが落ちないということはラリーが続くということで、
いつどちらのコートにボールが落ちるかハラハラドキドキする…というのが、
バレーボールというスポーツを見ていて個人的に楽しいポイントだと思っています。

2 については、バレーボールに詳しくない人からするとぴんと来ないかもしれませんが、
バレーボールって攻撃するときに何個か技があるんですよね。

例えば、本来はネット中央から攻撃する役職のセンターがコートの端まで駆け抜けながらスパイクを放つブロード攻撃

youtube.com

とか、 後衛にいる普段は攻撃に参加できない選手が後ろ側から走ってきてスパイクを放つバックアタック

youtube.com

とか、(最近は見なくなりましたが)ジャンプすると見せかけて相手チームのブロックタイミングをずらして攻撃する一人時間差とか。結構な技がありました。

しかし、こういった技を出してくれるのが、日本では長らく女子バレーだけだったんですよね。

なぜこれらが男子バレーで実現できないのかについて少し考えたことがありますが、
結論としては、男子バレーのスピードとパワーが逆に仇となっているというのが持論でした。
要するに、スパイクのパワーやスピードが凄すぎるせいで、強烈な一撃をミスなくしっかり入れられた方が勝ちというか、
強烈なサーブが入ってきまるか、サーブを上げた方からの強烈なスパイクがはいってきまるか、の二択って感じの印象です。

そもそも、面白さの理由2にあげた多彩な攻撃は、相手の攻撃をある程度しっかりいなさないと実現できんですよね。
強烈なサーブを上にあげるのがやっとだと誰が攻撃できてどこにいるのかがわからないから、
攻撃専門のポジションの人に頼りきりになります*3
結果として互いにパワーで押し切ろうとする戦法一辺倒になっちゃうわけです。

また、パワー勝負になると、体格面で劣る日本はなかなか勝てず、観ていても悔しい気持ちになることが多いです。

というわけで、自分は長らく女子バレーばかりみるようになっていました。

男子バレー面白い…面白いぞ…? という気付き

そんな自分の認識が変わったのは、
2019年くらいにふと男子バレーのワールドカップを偶然見かけたところからでした。

最初に見たときには「あれ、なんか日本バレーが連勝してるぞ?」くらいの感覚だったんですけど。 3戦目にはロシアに勝つし。

www.youtube.com

カナダ戦の最終セットがサービスエースによる連続得点で勝利という劇的な展開がめちゃくちゃ熱かったです。 www.youtube.com

この大会の日本代表の順位がこちら。

4位
順位表 | ワールドカップバレー2019 - フジテレビ

…つよくね???

長らく男子バレーを見なくなっていた自分には、この変化は目からうろこでした。

このころから男子バレーを意識してみるようになっていくと、
いつの間にか男子バレーでもラリーが続くことが増えてきているし、
以前には見られなかった攻撃の多彩さも出てくるようになっています。

特に、女子バレーボールでは見たことがなかった、フェイクセットという技がもの凄く面白いのでぜひ見てほしい。

www.youtube.com

どうしてこういう変化が生まれてきたのかは、素人の自分にはちゃんとは言えないのですけれど。
データバレーが進化して相手のボールコースに予めレシーバーが入れることがふえ、
ディフェンシブな戦法が通用するようになってきた点が大きいのかなぁ、と推測しています。

ともあれ、男子バレーでこれまで見られなかった「バレーボールの面白いところ」が見えるようになってきたので、 ちょくちょく youtube でハイライト集をみるようになりました。

この時大変お世話になったのが、大会の時期に選手の特徴や見どころを紹介してくれるこちらの youtube チャンネル。

www.youtube.com

ちょうど自分が見始めた時期に積極的に更新をしてくれており、
バレーボールを盛り上げる熱意を感じる動画だったので、一緒に盛り上がっていった感じがして楽しかったです。
最近更新がなくてちょっと寂しい。

そんなかんじで、最近は男子バレーを楽しく見るようになりました。

ちなみに、今年にバレーボールの世界大会は3種類ほど開催されています。

実は、男子日本バレーは今年はVNLでは銅メダル、アジア選手権は優勝という成績を残しています。
VNLでは、バレーボール強豪国であるブラジルにも勝利を収めたりも。 www.youtube.com

長らく低迷していたイメージがあったからこそ、
こういう「昔は全く歯が立たなかったところに勝てるようになった…!」という下剋上感がでてきている点も、
最近の男子バレー観戦が面白い点かなと思います。

ちなみに、以下の動画によれば、日本の世界ランクは2009年から2019年まではずっと10位より下に低迷しています。 www.youtube.com

さて、2023年12月現在、男子日本バレーの世界ランクが何位か、ご存じでしょうか?






The Official FIVB men’s Volleyball World Ranking. | volleyballworld.com

正解は4位です。大躍進してますね

最近の男子日本バレーの個人的ハイライト

最近のバレーボールの得点で個人的に好きだった所を雑にあげておきます

youtube.com

ここでスパイク打とうと思う人も打てる人もいないぞ? というミラクルショット

youtube.com

このシーンは英語の実況が好きだったので英語のやつ持ってきました。 スパイクブロックされたところを何とかつなぎながら得点したシーンです。
バレーボールやった人ならわかると思いますけど、ネットに当たって跳ね返ったボールを良しなにするのめちゃくちゃむずいし返せるの凄い。

youtube.com

フェイクセット特集の動画を見た後でこちらを見ると分かると思いますが、
フェイクセットってそういうのもありなの??? と度肝を抜かれたシーン。

youtube.com

舐めプとかじゃなくてトスの位置とジャンプの位置がかみ合わなかったが故に発生したやつなんだろうけれども、
そこを技ありで決め切るのもすごいしインパクトも大きくて面白い。

終わりに

というわけで今回は、男子バレーボール面白いぞって話をしたかったので、したいままに話をしました。後悔はしていない。

ただなんか、書いてみるとあまり面白さが伝わらない気がするのと、
最初はVリーグ(国内バレーボールリーグ)の話とか選手それぞれのエピソードとかの話とかをしようと思っていたものの、
収拾が付かなくなってやめたり、いまいち紹介の仕方としては消化不良感がある気もします。

勢い純度100%のつたない文章でしたが、少しでも興味を持ってくれたら幸いです。
そもそもこのあたりの話はよく知ってるしもっと細かなこと語りたいぞ!って人は僕のところまで来るように。

*1:異論は認める

*2:逆に言うと昔はサーブ権がある側にしか得点を得られず、サーブ権のない側はサーブ権を奪うことしかできなかったため、サーブ権が行ったり来たりするだけの戦いを延々としてたりしました

*3:ちなみに、この攻撃専門の役職を昔は「スーパーエース」と呼んでいました。北京オリンピックのころの山本選手 https://www.youtube.com/watch?v=zsXz46JfnOQ とかが有名かなぁと思います

3日でできるSFC修行 3日目

この記事は 平穏な生活を送りたいぴょこりんクラスタ Advent Calendar 2022 の為に書いたものです。

はじめに

この記事は先日記載した 3日でできるSFC修行 修行1日目・2日目 - やおよろず の続編ということで、修行3日目を振り返っていこうと思います

修行3日目…の、前に

上述の記事で書きましたが、修行2日目は飛行機が 30 分程度遅れた結果タクシーワープを使う羽目になりました。
修行3日目も帰りの便は2日目と同じ時間なので、同じような事態が起きたらどうすると良いかなぁ…とぼんやり調べていました。
すると見つけたのがこちらのページ。

www.ana.co.jp

遅延により、到着空港への到着が深夜になるなど、定期公共交通機関の利用が出来ない場合、宿泊費もしくは目的地までの交通費をお支払いします。(上限金額は合計で15,000円)

これ、わんちゃん2日目のタクシー代もらえたりしないですかね…と、電話で確認をしてみました。

要点だけをまとめると

  • 11/22 夜の便の到着が遅れてタクシー使った分って請求できますか?
    • 確かに遅延が生じており、天候理由ではなかったが、 ANA 側が諸費用を負担する対象のリストにこの便は含まれていないため、お客様負担になります。
  • 同じ便を利用する予定があるけれど、同様のことが発生した場合の対処策は?
    • 沖縄の地上スタッフに相談しておくのはどうか

という話でした。わんちゃんならず。残念。
天候理由でもなくこちら負担となる遅延理由って何だったんだろう…などの細かな疑問点はありましたが、
悪天候、空港混雑「など」と書かれてるところで食い下がっても良いことはないと思うし、すっぱり諦めました。

という訳で改めて本編、修行3日目です

11/30 (水) 修行3日目

旅程おさらい

この日は以下のようなルートでした

番号日付経路チケット種値段PP(2倍CP込み) PP単価
(9)11/30(水)羽田 07:35 ~ 那覇 10:30株主優待2446037526.52
(10)11/30(水)那覇 11:20 ~ 羽田 13:40スーパーバリュー 28L 1441029524.88
(11)11/30(水)羽田 15:25 ~ 那覇 18:15スーパーバリュープレミアム 28 3471057206.07
(12)11/30(水)那覇 20:45 ~ 羽田 23:00スーパーバリュー 45M 1081029523.66

出発 ~ (9) 7:35羽田発 10:30 那覇着便

修行1日目と同じ、修行2日目に比べたら余裕のある出発です。

アプリでチェックインを済ませ、京急をつかって羽田空港まで行き、サクッと保安検査場を通過。
朝にプレミアムでない保安検査場を使ったのはこの日が唯一だったのですが、大して混んでもいなかったのでサクサクです。

プレミアム席ではないから機内食もないし、
那覇についたら昼くらいの時間になるので、朝ごはん変わりに何か食べようかな…とゲート付近をうろうろ。

コロナの影響か、カフェ的な施設は少なくなっていそうなうえに、時間も時間なので空いているところもそうありません。

ライスバーガー、食べれなかった

結局は羽田で何か食べることは諦めて、カードラウンジで飲み物を飲みつつ読書をすることにしました。

カードラウンジ

凄く細かな話なんですが、プレミアムラウンジに置かれてるトマトジュースより、
カードラウンジに置かれているトマトジュースの方が塩気が利いていて僕好みでした。
というか、プレミアムラウンジのトマトジュースは全然塩気がないんですよね…
お酒と混ぜることを意図してるからなのかなぁ…

そうこうしている間にフライトの時間となったので搭乗。機内食がないの、逆に新鮮。

那覇着 ~ (10) 11:20 那覇発 13:40 羽田着便

修行1日目と同じく、沖縄での滞在時間は50分程度となります。
到着はちょっと早めだったので1時間くらいはあったかもしれない。
修行1日目は初回ということもありゲートを出て空港散歩して保安検査場に戻ってサンドイッチ買って食べておしまいでしたが、
経験値を積んだ今ならこの時間でも沖縄を味わうプランをねじ込めます。

国際便のある3階に移動して、少し迷ったもののお目当てのお店に行ってきました。

A&W

A&Wバーガー・チリチーズカーリーフライ・ルートビア

沖縄といえばA&Wとルートビアって感じがします。
食べ終わったら時間ギリギリ…くらいでしたが、保安検査場締め切りにはちゃんと間に合ったのでねじ込んでよかった。

羽田着 ~ (11) 15:25 羽田発 18:15 那覇着便

比較的時間のあるお昼の時間。
時間的には昼ご飯を考えても良い時間で、羽田空港のおいしいごはんを散策する良い機会ではあるのですが。
A&Wハンバーガーを食べて飛行機乗っただけということで、当然おなかもすいていません。

…という訳でやってきたのがこちら。

ブルーシールアイス 羽田空港

羽田空港にもブルーシールアイスがあるなら羽田空港でも沖縄気分を味わえばよいじゃない

クレープ

という訳でちんすこう入りのクレープを食べました。
ちんすこうの味はしっかりしていたけれど、沖縄田芋チーズケーキアイスの味はあまり芋感なかったかもしれない。
まったりクリーミー感はあったからそこが芋要素だったのかなぁ。

次の沖縄便はプレミアム席なので、サクッと保安検査場を通過してラウンジでのんびり。

プレミアムラウンジ

やっぱりこっちのトマトジュース塩気が足らないよなぁ…と再確認しました。

機内食。修行2日目と同メニュー

那覇着 ~ (12) 20:45 那覇発 23:00 羽田着便

いよいよ修行も大詰め、なおかつ最後の沖縄満喫チャンスです。
そうはいっても修行2日目で行きたかったところはあらかた制覇していたので、
今回は少し趣向を変えて、スーパーで買い物をすることにしました。

赤嶺駅にあるスーパー

色々かいました

そういえば液体の類って機内持ち込み大丈夫なんだっけ…と少し不安になって買い物しながら調べましたが、
国際線では NG であるものの、国内線は大丈夫みたいですね。

という訳で、買い物を終えたら最後の夕食です。

赤嶺駅すぐそばの居酒屋
じーまーみ豆腐とさんぴんハイ
ゴーヤチャンプルー泡盛

買い物もしていたので時間は例によってかつかつに。
毎回ぎりぎりながらも保安検査場の時間には間に合ってよかった。

という訳で最後のフライト。
修行1日目も2日目も最後の帰りの便は遅れていたので、
今回も遅れが生じていたら平和島に行くぞ…と身構えていたのですが、
今回はめちゃくちゃスムーズに便が動いてくれたので、無事に京急の終電に間に合うことができました。
時間通り着でも京急に乗るのぎりぎりだったので、
もともとこの時間はかなり厳しいスケジュールだったのかもしれません。

修行を終えて

SFC カード申請について

修行が終わったのでいざ SFC カードの申請…と思うものの、
ポイント2倍キャンペーンのポイントは月末頃に追加されるという仕組みのため、
現時点では SFC カードの申請を行うことはできないようです。
11月は2倍キャンペーンのポイントが 25日ごろに入っていたので、
おそらくアドベントカレンダーシーズン終了頃に申し込んでいると思います。
年末になっちゃうしフライング申請ワンチャンできないかな… と、一回ダメ元で問い合わせもしてみましたが、
やはりポイントがちゃんと追加されてプラチナステータスにならないと申請不可とのこと。
本日時点でできることはここまでのようです。

感想

沖縄に行ったのは久しぶりだったし、
観光RTAみたいな行動はなかなかやることではないので、個人的には今回の修行はとても楽しかったです。
とはいえ3日だから許せてる感もあり、
もっと周回数が必要って言われたら自分はギブアップしてしまいそう。
その意味でも今回の機会にしっかりポイントをためられたのは良かったと思います。
せっかく修行したんだし、来年は海外旅行とかも行きたいなぁ。

おまけ:修行中に読んだ本の感想

飛行機の中では寝るか読書するかのどっちかをしていたので、たくさん本が読めて良かったです。

#真相をお話します

#真相をお話します

ずいぶん前から気になってて買ってはいたけれど詰んでいた。
割とテーマが現代的なミステリの短編集です。
修行中に読んだわけではないですが、 俺ではない炎上 ともテイストが似てますね。
短編集なのでサクッと読めるしどんでん返し系の驚きも豊富で面白かった。
島で vtuber やろうとした子供たちのお話が個人的には一番好み。

ちなみにこの本を知ったきっかけはほんタメという youtube チャンネルです。いつもお世話になっております。

www.youtube.com

コンピュータサイエンス探偵の事件簿

コンピュータサイエンス探偵の事件簿

これもずいぶん前からもってた詰み本。

データ構造とアルゴリズムを駆使しながら事件を解決していく探偵のお話。
内容的にはかなり入門的なものが多いし、自分にはあまり新鮮味はなかった気がします。
読み物としてストーリーが面白いかっていうと…
割とデータ構造の説明をするために頑張ってストーリーを作ってる感もあり、個人的にはいまいち。
でもこういった取り組み自体は凄く好きです。良いぞもっとやれ。

この本とは全く関係ないんですがこちらは凄い気になってます。

この部屋から東京タワーは永遠に見えない。

この部屋から東京タワーは永遠に見えない。

アドベントカレンダーの貢献度がすさまじい nbisco 先生が面白いと言っていたので買って読みました。
こちらも短編集なので修行の合間で読むのにはとても良いですね。
タワマン文学というジャンルには初めて触れたのですが、
現代社会のつらみをエンタメというオブラートをかぶせて見せつけられてる感じがし、
何とも言えない不思議な読後感がありました。
どことなく人を見下してる感じの人が多い気がし、共感はなかなかできないような…
どことなく同族嫌悪のような感情もあるような…あらゆる意味で興味深かったです。

君のクイズ

君のクイズ

クイズ大会で対戦相手のチートまがいな早押しによって競り負けた主人公が、
あの早押しは一体何だったのか…を追求していく話。

チートまがいな早押しといえば東大王でジャスコ林が行った問題が出る前の早押し 『東大王』山里亮太が“おかしいじゃん”と絶叫!「クイズの概念がぶっ壊れる」 - 趣味女子を応援するメディア「めるも」 が有名ですが、それと似たような感じ。

クイズ系 youtube をよく見る最近なので興味をもって呼んでみたのですが、
クイズ番組の裏側を見られるような感触がして面白かったです。

終わりに

という訳で、沖縄修行3日目と修行中に読んだ本の感想でした。

自分の中でもかなり大きなチャレンジだったし書きたい話も多かったので
アドベントカレンダーの3枠も使う贅沢仕様にしちゃいましたが、
同じネタでこすりすぎた感は無きにしも非ず。そこは今後の課題にしようと思います。

3日でできるSFC修行 修行1日目・2日目

この記事は 平穏な生活を送りたいぴょこりんクラスタ Advent Calendar 2022 の為に書いたものです。

はじめに

この記事は先日記載した 3日でできるSFC修行 検討編 - やおよろず の続編ということで、実際に修行した時の思い出について振り返っていきたいと思います。

10/31(月) 修行1日目

旅程おさらい

この日は以下のようなルートでした

番号日付経路チケット種値段PP(2倍CP込み) PP単価
(1)10/31(月)羽田 07:35~ 那覇 10:30プレミアム株主優待3846057206.72
(2)10/31(月)那覇 11:20 ~ 羽田 13:40スーパーバリュー 28L1441029524.88
(3)10/31(月)羽田 15:25 ~ 那覇 18:15スーパーバリュー 28L1411029524.78
(4)10/31(月)那覇 20:00 ~ 羽田 22:20株主優待割引244603752 6.51

出発 ~ (1) 7:35 羽田発 10:30 那覇着便

この日の出発は7時35分ということで、後続の 11/22 の修行に比べてみれば朝には余裕がある予定となっています。
が、初めての修行・早起きする必要があるプレッシャーなどから、前日はそれなりに早く布団に入り、3時過ぎ食らいには目が覚めるありさまでした。
旅行の前日に眠れなくなる子供みたいなことやってますね。

ついでに出発前に空腹にもこらえられなかったため、ミルク粥など作って朝ごはんにするなど。
我慢ならなかったとはいえ初手ムーブとしてはだいぶよろしくなかったと反省しています。

ともあれ、なんやかんやで出発の準備。 そうはいっても準備したのはボディバッグとキンドルと本一冊だけ。

準備

飛行機乗るレベルの旅行でこれだけの軽装であることも個人的にはなかなかなかったので、大変面白く思いながら家を出発しました。

この日はモノレールで羽田空港まで行くルートを選択したんですが、 ANA の予約ページからルート検索して見ると、マイルが貯まるモノレール券を変えるリンクに飛べたりするんですよね。

マイルが貯まる!モノレール乗車券購入!

という訳で、モノレール券は事前に購入したものを使いました。

事前購入したモノレール乗車券

往復で買うと割引もきくし、使い方は係員さんに見せて利用ボタンをタップするだけなので割と簡単で良かったです。

空港についたら早速プレミアムチェックインへ。

チェックインの仕方について事前調査で調べている範囲では SFC修行OKAタッチ 1日2往復の注意点、保安検査場再入場の必要は? など「2往復はカウンターでのチェックインすべし」という記述がされていているものがあったので、念のためカウンターへ。

結論から言うと、現在は修行において2往復などのルートだとしてもカウンターのチェックインは不要でした。

というのも、上記の記事などで触れられている「スキップサービス」というサービスは古いものとなっており、 現在はアプリ経由でチェックインを行えるため、1日2往復などの変な予約だからと言ってカウンターで止められることもないようです。

という訳でチェックインをすべての便について済ませて保安検査場通過。 少しキョドりながらも、プレミアムラウンジに初めて足をふみいれました。

プレミアムラウンジ

そこまで時間がなかったのですが、初回のテンションもあり、ラウンジではビール1杯と青汁1杯とビアボールを飲みました。
ビアボールってこの時初めて聞いたんですがはやりなんですかね?

そうこうしているうちに搭乗時間がきて、プレミアム席へ。

人生で初のプレミアム席

プレミアム席に乗るの初めてだったのでテンションがあがりました。
CAさんからのご挨拶があるのも初体験。噂には聞いていたが、まさか自分がご挨拶いただく時がこようとは。

機内食

機内食をいただきつつサクッと沖縄に到着しました。

那覇着 ~ (2)11:20 那覇発 13:40 羽田着便

那覇です

那覇空港に到着してから帰りの便に乗るまで50分。
初回ということでテンションが高い中ではありますが、この日にやるべきことはその後の修行に向けての諸々の場所や時間間隔の把握です。

たぶん自分と同じく修行僧なんだろうなーって人がゲート近くでうろうろしているのをみかけたりしながら、
僕は流れに身を任せてとりあえず一回到着ゲートまで出てみて、保安検査場からもとの場所に戻る、という下見をしました。

ピカチュウの看板とかありました。

ピカチュウ

機内食やらミルク粥やらを食べたとはいえ、次に羽田に戻るのは 13:40 で昼ごはんにはちと遅いし、
そもそも沖縄で昼ご飯を食べず羽田で昼ご飯を食べるのもあほらしい…ということで、ゲート近くでさんぴん茶コンビーフハッシュサンドを購入。

コンビーフハッシュサンドとさんぴん茶

サンドイッチ、食パンの扱いがカレーパンとパン部分と同じ感じ(?)なのが面白かったです。
パン粉ついてるし上げてもあるのか、すごい油でギトギトになるかんじ。 さんぴん茶が口の中をさっぱりさせてくれるので食べるのは苦ではなかったし、嫌いじゃないです。

という訳で50分の沖縄滞在を終えて復路で羽田にUターン。 機内では寝るか本読むかしてたらあっという間だった気がします。

あと、乗っていた飛行機にホリエモンがいました。
自分は全く知らなかったんですが、おそらく 那覇市初出店!ホリエモン発案エンタメパン屋【小麦の奴隷】那覇泊店11月2日オープン!|エスダムスメディアのプレスリリース あたりの関連じゃないかなと。
この翌日あたりに youtube でもハブ酒とかのんでるホリエモンの動画を見たので、たぶん本人だったんだと思います。

羽田着 ~ (3)15:25 羽田発便 18:15 那覇着便

空港についてから再び羽田に行くまでは1時間半程度の空きですが、 これまで色々食べてきたこともあって何か食事するわけでもない。という訳で再びゲートをでて羽田空港を少しぶらぶら歩いていました。

各地の名産品自販機とかあった

正直なところ、朝早く置きすぎたこともたたって眠気も来ていたので、寝落ちなどで修行計画を水の泡としないよう頑張っていた、という感じが大きかったです。

何とか眠気を耐えて保安検査場を経由しつつ再び沖縄へ。 多分飛行機の中は結構寝てたと思います。

那覇着 ~ (4) 20:00 那覇発 22:20 羽田着便

那覇についてから帰りの便まで 1時間45分 と時間もあるわけでもなし、下見でもあるわけだし…ということで、 この日は空港の中にあるお店で食事をすることにしました。

空港食堂

空港食堂という、割と修行僧御用達として知られている場所だそうです。

ソーキそば

ソーキそばと、明らかに高いやろって思いつつ出し渋ってたら飲むことなさそうな orion 社のチューハイをいただきました。

ブルーシールアイス

同様の理由で出し惜しみをせずブルーシールアイスも食べておきました。美味しかったです。

羽田着 ~ 帰宅

帰りの便は少し遅れていました。22:20 到着のところ確か 22:35 着とかだったかな… そうはいっても終電には余裕がある時間ですし、モノレール往復券の帰りの分を使って無事に帰れました。

11/22(火) 修行2日目

旅程おさらい

番号日付経路チケット種値段PP(2倍CP込み) PP単価
(5)11/22(火)羽田 06:55 ~ 那覇 09:45スーパーバリュープレミアム 28347105720 6.07
(6)11/22(火)那覇 12:15 ~ 羽田 14:35スーパーバリュープレミアム 283471057206.07
(7)11/22(火)羽田 15:25 ~ 那覇 18:15スーパーバリュープレミアム 283471057206.07
(8)11/22(火)那覇 20:45 ~ 羽田 23:00スーパーバリュー 45L 1341029524.54

出発 ~ (5) 6:55 羽田発 09:45 那覇着便

この日は出発も到着も全日程の中で一番早い・遅い、沖縄を一番満喫できる日として予定をたてました。
まぁ先日の記事の予約履歴を見ればわかる通り、一番最初に予定を組んだ日だから、というのもあるのですけれど。
プレミアムを3枠も使う豪華な 1 日です。

始発&お値段を考慮して、この日からは品川から京急をつかって羽田に行くことにしました。

修行1日目の経験を踏まえてスマホでチェックインを済ませ、 プレミアムチェックインをスルーして保安検査場を通過し、ラウンジへ。
ビールとビアボールとトマトジュースを決めまししたが、やはり朝は時間が少ないですね。

サクッと行きの飛行機に搭乗。機内食をいただき、サクッと那覇に行くことになりました。

機内食

那覇着 ~ (6) 12:15 那覇発 14:35 羽田着便

この日の飛行機の到着は10分くらい早くて 9:35 くらい。出発の 14:35 まで3時間近くの猶予*1があります

これまでの経験&調査の結果として、空港よりもう少し足を延ばしてもよさそうと判断したので、
瀬長島ウミカジテラス【公式】 – 沖縄アイランドリゾート に行くことにしました。
海が見えるところに色んなお店がありテラス席で海を観つつごはんが食べれる観光スポットですね。

那覇空港からバスが出てるはずなんですが、時間の都合+バス停の位置が初見でわからないし、次のバスまで時間がある模様。
せっかくなのでバスの途中停車駅である赤嶺駅までゆいれーるで移動してみます。

赤嶺

赤嶺駅からバスに乗ると、本当にさくっとウミカジテラスに行くことができました。

ウミカジテラス

ウミカジテラスを少しぶらぶらしてみるも、やっているお店は時間の都合もあり少なめでした。
ねこちゃんはいました。

ねこちゃん

ウミカジテラスにするか、バス停目の前にある瀬長島ホテル龍神の湯に入るかは直前まで悩んでいたので、 ウミカジテラス中にある足湯も見にいったりしたんですが…タオル持ってなかったし、意外と規模が小さかったこともあって見送りに。

とはいっても、ただ海とねこちゃんを見てウミカジテラスおしまい…とするのも何なので、早くにやっているお店でタコライスバナナシェイクを食べました。

タコライス

という訳でご飯を食べたところで帰りのバスの時間となり那覇空港へもどることに。
若干バスが遅れていて保安検査場の時間に遅れないかひやひやもしましたが、無事間に合ったので一安心です。

帰りのチケットもプレミアムなので、今回は那覇空港のラウンジにも侵入。 とはいえおなかのキャパは限られているので、ビアサーバーからオリオンビールを一杯だけもらってラウンジ体験はおしまいです。

那覇空港のラウンジはしっかりオリオンビールあった。羽田にはなかった

ラウンジのなかで、帰りの便の準備が少し遅れているとのアナウンス。
なんか不安だなぁ…と漠然とした思いを抱きながら、少し遅れた飛行機で羽田に戻ります。

機内食。軽食でなく食事が出てきた唯一の回

羽田着 ~ (8) 15:25 羽田発 18:15 那覇着便

およそ20分くらい遅れて羽田空港着。
ここでの羽田での乗り換え時間はもともと50分想定でしたから、ぎりぎりの時間です。

という訳でCAさんに機内で相談をしていたところ、
飛行機を降りたところで乗り継ぎ便の人を待つ地上係員の方が待っていてくれました。

そして案内されたのがこちらの特別ルート。

特別ルート

本来であれば写真左側の通路を通って到着ロビー(2階)、もしくは乗継便の口を通るなどして搭乗ゲートに移動するところですが、
それらを全部かっ飛ばしていきなり搭乗ゲートのある階(3階)に行く通路に案内されました。
多分普段は係員だけが通過するルートなんでしょうけれど。おかげさまで5分も経たずに出発ゲートに戻ることができました。ありがとうございます。

それはそうと、同じ経路で搭乗ゲートに向かった人が自分以外にも7人くらいいました。ほぼ全員修行僧なのかな?
自分と同じようなことを考える人はやはり結構いるもんですねぇ。

時間があるしプレミアムシートなのでラウンジでもう一杯ビール飲めるな…とも思いましたが、
さすがにお腹の容量もキャパも悲鳴を上げつつあるし、機内食もあるので、ここではラウンジ利用なし。 プレミアム席だからって毎回酒飲むのはさすがに無理でした。

機内食。スープとデザートの枠が朝の便から変わりました

那覇着 ~ (8) 20:45 那覇発 23:00 羽田着便

飛行機は割と時間通りに到着したので、帰りの便まで2時間30分くらい。 時間はやや少ないですが、ここぞとばかりにゆいれーるで県庁前駅まで行き、国際通りに観光しに行きます。

昼に撮りそびれたゆいれーる那覇空港駅。今回もお世話になります。

国際通り

シーサーでかい

中には入らないけど市場を記念撮影するだけ

夕食も食べようと思いましたが、検索して見つけたよさげなお店は割と予約なしだと断られてしまう感じ。 国際通り入ってすぐのところにある居酒屋で軽く食べる感じとなりました。

お店

晩御飯

国際通りを回りすぎて 30分くらいしか食事にあてられなかったけれど、泡盛海ぶどう、とうふよう、もずく天ぷらと食べたいやつ片っ端から食べられて満足です。

ご飯を食べたらゆいれーるで那覇空港に戻って保安検査場へ。 たしか締め切り時間の5分前とかのぎりぎり行動です。まぁでも効率よく楽しめた方ではないでしょうか。

そして、保安検査場を通過してみると、飛行機出発がまたしても遅れているというお知らせ。
まぁ10分程度なら間に合うはずだ…と思いつつ、一抹の不安を覚えながら搭乗しました。

羽田着 ~ 帰宅

結局飛行機が30分くらい遅れまして、 23:30 くらいに羽田につきました。

自分の中で見積もっていた遅延バッファを超えていたので、家までの終電はありません。

CAさんには地上係員に聞いてみてといわれていたけれど、地上係員もあまりいなそう。
google map で色々調べた範囲では、新宿方面まで出られればそこからは電車の足がありそうでした。

タクシーの運転手さんに新宿までの時間を聞いた感じ20分程度ということだったので、それくらいならそこまでかからないか…? と判断してタクシーワープを決意。

結論から言うと深夜料金も手伝って新宿まで 1.2万くらいがかかりました。
京急沿いにある温泉( 天然温泉平和島|東京都大田区の天然温泉、年中無休・24時間営業 ) で一晩越しても良かったかもしれないですが、 さすがに時間いっぱい沖縄満喫プランは疲労度も高く家で休みたい欲求も高かったので、勉強代だったということにします。

終わりに

という訳で修行1-2日目の思い出話でした。こいつ食べ飲みしてばっかりじゃないか…?
ともあれ、限られた時間のわりに沖縄結構満喫してやったぜ! 感が伝わったなら幸いです。

来週はこんな感じのテンションで 3日目の思い出話とか、機内で読んだ本の話とかをしようと思います。

*1:といっても飛行機下りるの待ちだったり保安検査所通過期限までに空港に戻る必要があるので30分近くは猶予が削られますが