2016年第7回ブルーブリッジカップC/C++プログラム設計学部B組国試合一歩の距離(暴力)


一歩の距離
昏睡から目が覚めると、明ちゃんは自分がX星の廃鉱車に閉じ込められていることに気づいた.トロッコはまっすぐに廃棄された軌道に止まった.彼の前には2つのボタンがあり、それぞれ「F」と「B」と書いてある.
明ちゃんは突然、この2つのボタンがトロッコの軌道上の前進と後退を制御できることを覚えました.Fを押すと、97メートル進みます.Bを押すと127メートル後退します.薄暗い明かりを通して、明ちゃんは自分の前の1メートル離れたところにちょうど監視カメラがあるのを見た.彼は何とかしてトロッコをカメラの下に止めてこそ、仲間の援助を勝ち取る機会がある.もしかすると、FとBを複数回操作することでできるかもしれません.
トロッコの動力はもう足りず、黄色い警報灯が黙って点滅している...FまたはB操作を行うたびに一定のエネルギーが消費される.明ちゃんは、少なくとも何回操作すれば、トロッコを1メートル先に正確に止めることができるかをすばやく計算した.
目標達成のために最低限必要な操作回数を記入してください.
注意、提出する必要があるのは整数で、関係のない内容(例えば、説明など)を記入しないでください.
答え:97
 
解題構想:暴力列挙、条件に合った状態を見つけたら出力し、サイクルを終了する.
BFSも可能ですが、負数を扱うことに注意してください.book配列には負数をマークできません.
 
コード:
#include
using namespace std;

int main()
{
	int flag=0;
	for(int i=1;i<=10010;i++)
	{
		for(int j=1;j<=10010;j++)
		{
			if(i*97-j*127==1)
			{
				printf("%d
",i+j); flag=1; break; } } if(flag) break; } return 0; }