結果

問題 No.208 王将
ユーザー dgd1724
提出日時 2016-10-08 19:32:22
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 1,920 bytes
コンパイル時間 733 ms
コンパイル使用メモリ 100,364 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-21 20:35:56
合計ジャッジ時間 1,522 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>			//std::cout, std::cin
#include <string>			//std::string,std::to_string(C++11)
#include <vector>			//std::vector
#include <valarray>			//std::valarray
#include <algorithm>		//std::sort
#include <ctime>			//localtime_s
#include <cstdlib>			//abs
#include <cmath>			//abs,std::pow,sqrt,sin,cos,round,floor,ceil
#include <fstream>			//std::ifstream,std::ofstream
#include <iomanip>			//std::setprecision,std::setw,std::setfill
#include <random>			//std::random(C++11)
#include <numeric>			//std::accumulate
#include <functional>		//std::greater
#include <chrono>			//std::chrono(C++11)
#include <bitset>			//std::bitset
#include <queue>			//std::queue

const static double	de_PI	= 3.14159265358979323846;
const static int	de_MOD	= 1000000007;
const static int	de_MAX	= 999999999;
const static int	de_MIN = -999999999;

int main(void) {

	//std::ifstream in("123.txt");	std::cin.rdbuf(in.rdbuf());
	//std::ofstream ofs("456.csv");
	//std::chrono::system_clock::time_point t_st = std::chrono::system_clock::now();

	long long int dx = 0, dy = 0, ox = 0, oy = 0;
	std::cin >> dx >> dy >> ox >> oy;

	if (dx == 0) {
		std::cout << std::setprecision(11) << abs(dy) << std::endl;
		return 0;
	}
	if (dy == 0) {
		std::cout << std::setprecision(11) << abs(dx) << std::endl;
		return 0;
	}
	if (abs(dx) > abs(dy)) {
		std::cout << std::setprecision(11) << abs(dx) << std::endl;
		return 0;
	}
	else if (abs(dx) < abs(dy)) {
		std::cout << std::setprecision(11) << abs(dy) << std::endl;
		return 0;
	}
	else {
		if (ox < dx && oy < dy && (oy == ox*dy / dx)) {
			std::cout << std::setprecision(11) << abs(dx) + 1 << std::endl;
		}
		else {
			std::cout << std::setprecision(11) << abs(dx) << std::endl;
		}
	}
	
	//std::chrono::system_clock::time_point t_ed = std::chrono::system_clock::now();
	//std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(t_ed - t_st).count() << "ms" << std::endl;

}

0