рдордИ habrasovorevlenie: рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЧреНрд▓реЛрдирд╛рд╕ рдмрдирд╛рдПрдВ

рдпрд╣ 2063 рдХреА рдПрдХ рдардВрдбреА рд╕рд░реНрджреА рдереА ... рдЖрдк, рд╕рд╛рдЗрдмреЗрд░рд┐рдпрд╛рдИ рд╕реНрдЯреЗрдкреНрд╕ рдореЗрдВ рдПрдХ рдЭреЛрдкрдбрд╝реА рдореЗрдВ рдмреИрдареЗ, рдЧрд░реНрдо рдЪрд╛рдп рдкреА рд░рд╣реЗ рдереЗ, рдЙрджрд╛рд╕реАрди рдЗрд░рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдЧреНрд▓реЛрдирд╛рд╕ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде 2014 рдореЙрдбрд▓ рдХреЗ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рджреБрд░реНрд▓рдн рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рд▓рд┐рдпрд╛ - рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рднреА рдЙрдкрдЧреНрд░рд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЕрдЪрд╛рдирдХ рд▓рд╛рд▓ рд╕рд░рдХрд╛рд░ рдХреЗ рдЯреЗрд▓реАрдлреЛрди рдХреА рднреЗрджреА рдШрдВрдЯреА рдиреЗ рдЪреБрдкреНрдкреА рдХрд╛рдЯ рджреА - рджреВрд╕рд░реА рддрд░рдл рдХреА рдЖрд╡рд╛рдЬрд╝ рдЧреВрдБрдЬ рдЙрдареА: рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рднреА рдЧреНрд▓реЛрдирд╛рд╕ рдЙрдкрдЧреНрд░рд╣ рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдЦрд░рд╛рдмреА рдХреЗ рдХрд╛рд░рдг рдХреНрд░рдо рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЧрдП рдереЗ ... (TZCH! рдмреБрдХрдорд╛рд░реНрдХреНрд╕? рдЕрдм рдХреМрди рд╕рдордЭреЗрдЧрд╛ ....)?



рдЦреИрд░, рдЙрдореНрдореАрдж рдЕрдм рдХреЗрд╡рд▓ рдЖрдк рдкрд░ рд╣реИ - рдЖрдкрдХреЛ 2063 рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреА рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж (рд╕реЛрдорд╡рд╛рд░ рддрдХ) рдПрдХ рдирдИ рдЙрдкрдЧреНрд░рд╣ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╕рдВрд▓рдпрди рд░рд┐рдПрдХреНрдЯрд░реЛрдВ рдФрд░ рд╡рд┐рдирд╛рд╢ рдЗрдВрдЬрдиреЛрдВ рдХреЛ рдХреЙрдореНрдкреИрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЙрдкрдЧреНрд░рд╣ рдкрд░ рд╕рд╡рд╛рд░ - рдЕрдм рд╡реЗ рдкреГрдереНрд╡реА рдХреЗ рдирд┐рдХрдЯ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рддрдп рд╣реЛ рдЧрдП рд╣реИрдВ, рдЕрдм рдХреЛрдИ рднреА рдХрдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдкрдВрдЪрд╛рдВрдЧ рдФрд░ рдкрдВрдЪрд╛рдВрдЧ (рдЙрдкрдЧреНрд░рд╣ рдХрдХреНрд╖рд╛ рдкреИрд░рд╛рдореАрдЯрд░) рдХреЛ рдЕрдм рдЙрдкрдЧреНрд░рд╣ рд╕реЗ рдкреГрдереНрд╡реА рдкрд░ рдкреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред



2063 рдореЗрдВ рдЧреНрд▓реЛрдирд╛рд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд

рдмрд╛рдд рджреЛрдпрдо рджрд░реНрдЬреЗ рдХреЗ рд╡рд┐рдорд╛рди рдкрд░ рд╣реЛ рд░рд╣реА рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рдореВрд▓ рд╕реЗ 6378 рдХрд┐рдореА рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред рдЙрдкрдЧреНрд░рд╣ 10 рд╣рдЬрд╛рд░ рд╕реЗ 20 рд╣рдЬрд╛рд░ рдХрд┐рдореА рдХреА рджреВрд░реА рдкрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рджреВрд░ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рддрдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдЧреНрд░рд╣ 1 рдореЗрдЧрд╛рдмрд┐рдЯреНрд╕ (рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдорд┐рд▓рд┐рдпрди рдмрд┐рдЯреНрд╕) рдХреА рд╕рдВрдЪрд░рдг рдЧрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдо рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрдХреЗрдд рд╣рдореЗрдВ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 10 рдорд┐рд▓рд┐рдпрди рдирдореВрдиреЛрдВ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдЧреНрд░рд╣ рдЕрдкрдиреА рдЕрд▓рдЧ рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдПрдХ рд╕рдВрдХреЗрдд рдкреНрд░реЗрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ - рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдо рд╣рд░ рд╕реЗрдХрдВрдб рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХреА рд╢реБрд░реБрдЖрдд рдПрдХ рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЬрдореАрди рдкрд░ рдПрдХ рд╕рдВрдХреЗрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЙрдкрдЧреНрд░рд╣реЛрдВ рд╕реЗ рд░рд┐рд╕реАрд╡рд░ рддрдХ рдХреА рджреВрд░реА рдЕрд▓рдЧ рд╣реИ - рдкреНрд░рдХрд╛рд╢ рдХреА рдЧрддрд┐ рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдПрдХ рд╡рд┐рд▓рдВрдмрд┐рдд рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ (рдкреНрд░рдХрд╛рд╢ рдХреА рдЧрддрд┐ = 299792458 рдореАрдЯрд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб) - рдЯреАред рдИред рдкрд╣рд▓реЗ рд╣рдо рдкрд┐рдЫрд▓реЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ "рдкреВрдВрдЫ" рд▓реЗрддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╡рд░реНрддрдорд╛рди рдХреЗ "рд╕рд┐рд░"ред рдХреЛрдб рдЕрдиреБрдХреНрд░рдо рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рджреЗрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрдкрдЧреНрд░рд╣ рд╕реЗ рджреВрд░реА рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХрдИ рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХреА рджреВрд░реА рдЬрд╛рдирдирд╛ - рд╣рдо рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛: рдЦреАрдВрдЪреЗ рдЧрдП рд╡реГрддреНрдд рдХреА рддреНрд░рд┐рдЬреНрдпрд╛ рдкреНрд░рдХрд╛рд╢ рдХреА рдЧрддрд┐ рд╕реЗ рдЧреБрдгрд╛ рд╕рдВрдХреЗрдд рджреЗрд░реА рдХреА рдЧрдгрдирд╛ рд╣реИред





рдЙрдкрдЧреНрд░рд╣ рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдЕрднреА рднреА рдЦрдбрд╝реЗ рд╣реИрдВ - рдХреЛрдИ рдбреЙрдкрд▓рд░ рд╢рд┐рдлреНрдЯ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕рд╛рдкреЗрдХреНрд╖ рдкреНрд░рднрд╛рд╡ (рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рд╡рд╛рд▓реЗ рд╕рд╣рд┐рдд) рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛рдиреА рд╕рдордп рдореЗрдВ рдХреЛрдИ рдЪрд╛рд▓ рдирд╣реАрдВ рд╣реИред



рдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк

рдбреЗрдЯрд╛ рдорд╛рдирдХ рдЗрдирдкреБрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ 2 рд╕реЗ 255 рддрдХ рд╕рдВрдЦреНрдпрд╛ рдПрди рд╣реИ: рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрди рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рд╣реИ: рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ, рдореАрдЯрд░ рдХреЗ рдЙрдкрдЧреНрд░рд╣ рдХрд╛ рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ, рдореВрд▓ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ред

рдЕрдЧрд▓рд╛ - 10 рдорд┐рд▓рд┐рдпрди рдЕрдВрдХ 0 рдпрд╛ 1, рдЬрдореАрди рдкрд░ рдкреНрд░рд╛рдкреНрдд рдЙрдкрдЧреНрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдоред



рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдердо (рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рд╣реЛрддрд╛ рд╣реИ):

data = md5("3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446"+to_string(pos))

      
      





pos тАФ 0 999999. data>'7' тАФ , .



10 , 0 1 10 . .



: ( )

2
-6.83616e+006
1.6126e+007
000000000000000011111111110000000000000000000000000000000000[...]
-1.07643e+007
-1.48409e+007
10000000000111111111100000000001111111111111111111111111111111111[...]




тАФ .

, тАФ X Y, , .



, тАФ .



:

-1.81683e+006 -1.74334e+006


/ тАФ : s.14.by/glonass-contest.zip



delta тАФ T тАФ , 100/(delta+10) + 10/(T+1). 5 i7-3820 HT 100 1000 тАФ . .



Java SE 7, . , 20. , , (JNI ).



,

23:59 ( ) 11 contest@14.by, тАФ !



:

//@BarsMonster

      
      



BarsMonster тАФ HabraHabr ( read-only , )



тАФ 2 BTC,

тАФ 1 BTC,

тАФ 0.5 BTC.



:

, ( ) 1 BTC.



-, read-only , .



, ┬л: -┬╗, тАж - , тАж



!



Update 10.05.2014 2:03: . 64- Java (-Xms10g -Xmx30g). тАФ , .

Update 10.05.2014 10:23: , , ( , 500/).

Update 10.05.2014 13:18: . 1 (3 ). тАФ 3- . .

Update 11.05.2014 18:00: . , - тАФ . . тАФ .

//Might have some OCR errors
<?

$startTime = microtime(true);
set_time_limit(99999999);
ini_set('memory_limit', '-1');

fscan("%d", $n);

$sat = array();

for($i=0;$i<$n;$i++)
{
	fscan("%f", $sx);	
	fscan("%f", $sy);	
	fscan("%s", $sequence);	

	$sat[] = array("sx"=>$sx, "sy"=>$sy, "sq" => $sequence);
}

$ref = "";
//Calculate reference sequence
for($i=0;$i<10000000;$i++)
{
	$hash = md5("3.1415926535897932384626433832795O28841971693993751O582O9749445923O78164O62862O8998628O34825342117O67982148O865132823O6647O938446".((int)((($i)%1OOOOOOO/1O))));
	$ref .= ($hash[0]>'7')?"1":"0";
}

$ref .= $ref;

//Calculate pseudorange
for($i=0;$i<$n;$i++)
{
	$sat[$i]["range"] = (10000000.0-intval(strpos($ref, $sat[$i]["sq"])))/10000000.0*299792458.0;//Meters
}

$best = 10E100;
for($x=-7000000;$x<7000000;$x+=2000)
{
	for($y=-7000000;$y<7000000;$y+=2000)
	{
		$delta = 0;
		for($i=0;$i<$n;$i++)
			$delta += abs($sat[$i]["range"]-sqrt(pow($x-$sat[$i]["sx"],2)+pow($y-$sat[$i]["sy"],2)));
		if($delta<$best)
		{
			$best = $delta;
			$bestx = $x;
			$besty = $y;
		}
	}
}

print("$bestx $besty\n);
echo "\n\nExecution time: ".(microtime(true)-$startTime);
?>

      
      





Update 11.05.2014 20:11: тАФ . . .

Update 14.05.2014 23:22: .



All Articles