<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии: Задача про поезд</title>
	<atom:link href="http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/feed/" rel="self" type="application/rss+xml" />
	<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/</link>
	<description>Блог об IT, философии, жизни и отдыхе</description>
	<lastBuildDate>Thu, 05 Jan 2012 07:19:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Автор: VIC</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-4438</link>
		<dc:creator>VIC</dc:creator>
		<pubDate>Mon, 12 Dec 2011 00:32:59 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-4438</guid>
		<description>очухиваемся в вагоне, выключаем в нём свет, и двигаем в какую-либо сторону, попутно выключая свет во всех светящихся вагонах до тех пор, пока весь поезд не погаснет. это будет где-то 1.5 круга. потом включаем свет в вагоне, в котором стоим и шагаем, считая вагоны, пока не дойдём к светящемуся.</description>
		<content:encoded><![CDATA[<p>очухиваемся в вагоне, выключаем в нём свет, и двигаем в какую-либо сторону, попутно выключая свет во всех светящихся вагонах до тех пор, пока весь поезд не погаснет. это будет где-то 1.5 круга. потом включаем свет в вагоне, в котором стоим и шагаем, считая вагоны, пока не дойдём к светящемуся.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Bob</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-3447</link>
		<dc:creator>Bob</dc:creator>
		<pubDate>Wed, 21 Sep 2011 04:40:41 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-3447</guid>
		<description>А что если, в одном вагоне включить лампу, во всех остальных выключать, таким образом, чтобы осталась одна лампа?</description>
		<content:encoded><![CDATA[<p>А что если, в одном вагоне включить лампу, во всех остальных выключать, таким образом, чтобы осталась одна лампа?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: ProstoVasia</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-635</link>
		<dc:creator>ProstoVasia</dc:creator>
		<pubDate>Tue, 22 Jun 2010 12:40:10 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-635</guid>
		<description>а если поезд бесконечный и не влезает в оперативную память =) ?</description>
		<content:encoded><![CDATA[<p>а если поезд бесконечный и не влезает в оперативную память =) ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: ProstoVasia</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-634</link>
		<dc:creator>ProstoVasia</dc:creator>
		<pubDate>Tue, 22 Jun 2010 12:37:54 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-634</guid>
		<description>а если поезд бесконечный и невлезает в оперативную память =) ?</description>
		<content:encoded><![CDATA[<p>а если поезд бесконечный и невлезает в оперативную память =) ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: ProstoVasia</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-633</link>
		<dc:creator>ProstoVasia</dc:creator>
		<pubDate>Tue, 22 Jun 2010 12:31:40 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-633</guid>
		<description>а если вагон один =) ?</description>
		<content:encoded><![CDATA[<p>а если вагон один =) ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: rakafon</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-623</link>
		<dc:creator>rakafon</dc:creator>
		<pubDate>Fri, 07 May 2010 15:42:54 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-623</guid>
		<description>Tип Wagon имеет следующий интерфейс:

interface Wagon
{
    bool IsOff();   /* выключен ли свет */
    bool IsOn()     /* включен ли свет */
    void TurnOn()   /* включить свет в вагоне */
    void TurnOff()  /* выключить свет в вагоне */
};

Тип WagonIterator - обёртка вокруг типа Wagon предназначенная для беготни по вагонам, то бишь в его интерфейсе есть операторы инкремента и декремента, а также оператор &quot;стрелка&quot; (-&gt;) для получения доступа к методам интерфейса Wagon.
Грубо говоря типичный STL like bidirectional iterator.

Тогда:

int GetSize(WagonIterator iterIndex)
{
    int ret = 1;

    iterIndex-&gt;TurnOn();
    ++iterIndex;

    while ( iterIndex-&gt;IsOff() )
    {
        ++iterIndex;
        ++ret;
    }
    iterIndex-&gt;TurnOff();

    /* сместить итератор на ret позиций назад */
    std::advance(iterIndex, -ret);

    if ( iterIndex-&gt;IsOff() )
        return ret;

    /* здесь начинается рекурсия: */
    return GetSize(iterIndex);
}</description>
		<content:encoded><![CDATA[<p>Tип Wagon имеет следующий интерфейс:</p>
<p>interface Wagon<br />
{<br />
    bool IsOff();   /* выключен ли свет */<br />
    bool IsOn()     /* включен ли свет */<br />
    void TurnOn()   /* включить свет в вагоне */<br />
    void TurnOff()  /* выключить свет в вагоне */<br />
};</p>
<p>Тип WagonIterator &#8211; обёртка вокруг типа Wagon предназначенная для беготни по вагонам, то бишь в его интерфейсе есть операторы инкремента и декремента, а также оператор &laquo;стрелка&raquo; (-&gt;) для получения доступа к методам интерфейса Wagon.<br />
Грубо говоря типичный STL like bidirectional iterator.</p>
<p>Тогда:</p>
<p>int GetSize(WagonIterator iterIndex)<br />
{<br />
    int ret = 1;</p>
<p>    iterIndex-&gt;TurnOn();<br />
    ++iterIndex;</p>
<p>    while ( iterIndex-&gt;IsOff() )<br />
    {<br />
        ++iterIndex;<br />
        ++ret;<br />
    }<br />
    iterIndex-&gt;TurnOff();</p>
<p>    /* сместить итератор на ret позиций назад */<br />
    std::advance(iterIndex, -ret);</p>
<p>    if ( iterIndex-&gt;IsOff() )<br />
        return ret;</p>
<p>    /* здесь начинается рекурсия: */<br />
    return GetSize(iterIndex);<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Artur</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-592</link>
		<dc:creator>Artur</dc:creator>
		<pubDate>Sat, 23 Jan 2010 12:06:48 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-592</guid>
		<description>Мне алгоритмы решения выше показались запутанными.
Вот легче, хотя принцип тот же.
&lt;p&gt;&lt;a href=&#039;http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/#SID496_1c_tgl&#039; title=&#039;навестить блог, чтобы проверить этот интерцептор&#039;&gt;[[навестить блог, чтобы проверить этот интерцептор]]&lt;/a&gt;&lt;/p&gt;
&lt;em&gt;Решение верное, тоже спрятал в спойлер&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Мне алгоритмы решения выше показались запутанными.<br />
Вот легче, хотя принцип тот же.</p>
<p><a href='http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/#SID496_1c_tgl' title='навестить блог, чтобы проверить этот интерцептор'>[[навестить блог, чтобы проверить этот интерцептор]]</a></p>
<p><em>Решение верное, тоже спрятал в спойлер</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Skysport</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-568</link>
		<dc:creator>Skysport</dc:creator>
		<pubDate>Sun, 06 Dec 2009 11:42:59 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-568</guid>
		<description>можно в разы ускорить процесс:

каждый раз возвращаясь к контрольным вагонам - увеличивать их количество, скажем на те же 3 вагона...</description>
		<content:encoded><![CDATA[<p>можно в разы ускорить процесс:</p>
<p>каждый раз возвращаясь к контрольным вагонам &#8211; увеличивать их количество, скажем на те же 3 вагона&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: daru</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-563</link>
		<dc:creator>daru</dc:creator>
		<pubDate>Thu, 19 Nov 2009 09:03:29 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-563</guid>
		<description>Да, у Goodways намного более экономное решение. :)</description>
		<content:encoded><![CDATA[<p>Да, у Goodways намного более экономное решение. <img src='http://someideas.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: daru</title>
		<link>http://someideas.ru/2009/11/17/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b0-%d0%bf%d1%80%d0%be-%d0%bf%d0%be%d0%b5%d0%b7%d0%b4/comment-page-1/#comment-562</link>
		<dc:creator>daru</dc:creator>
		<pubDate>Thu, 19 Nov 2009 09:00:06 +0000</pubDate>
		<guid isPermaLink="false">http://someideas.ru/?p=496#comment-562</guid>
		<description>Да, а если мы справа обнаружили изменение освещения, то ri*2+1. Это в случае, если вагонов нечетное количество.</description>
		<content:encoded><![CDATA[<p>Да, а если мы справа обнаружили изменение освещения, то ri*2+1. Это в случае, если вагонов нечетное количество.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

