<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
  <author_name>komiyam</author_name>
  <author_url>https://blog.hatena.ne.jp/komiyam/</author_url>
  <blog_title>komiyamの日記</blog_title>
  <blog_url>https://komiyam.hatenadiary.org/</blog_url>
  <categories>
    <anon>AOJ</anon>
    <anon>ICPC</anon>
  </categories>
  <description>keyword 平面幾何 C++ 問題概要 レーザー光を上手く反射させて最短距離で目標物に当てる問題。 解法 鏡の枚数が少なく、反射の回数に制限があるので全ての反射の場合を総当たりする。反射をまともにシミュレーションするのは大変なので、鏡にぶつかる度に鏡を軸として世界を反転させる。そうするとレーザー光と(移動した後の)目標物を直線で結んで順番に鏡にぶつかっているかどうか調べるだけでよい。反射を線対称で処理するのは定石だと言っていいと思う。 感想 昔書いたコードを見直すのは精神的に来るものがある。ソースコードは一部省略している。</description>
  <height>190</height>
  <html>&lt;iframe src=&quot;https://hatenablog-parts.com/embed?url=https%3A%2F%2Fkomiyam.hatenadiary.org%2Fentry%2F20110601%2F1306854322&quot; title=&quot;AOJ-1171: レーザー光の反射 (Laser Beam Reflections) - komiyamの日記&quot; class=&quot;embed-card embed-blogcard&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; style=&quot;display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;&quot;&gt;&lt;/iframe&gt;</html>
  <image_url></image_url>
  <provider_name>Hatena Blog</provider_name>
  <provider_url>https://hatena.blog</provider_url>
  <published>2011-06-01 00:05:22</published>
  <title>AOJ-1171: レーザー光の反射 (Laser Beam Reflections)</title>
  <type>rich</type>
  <url>https://komiyam.hatenadiary.org/entry/20110601/1306854322</url>
  <version>1.0</version>
  <width>100%</width>
</oembed>
