Submission #2748551


Source Code Expand

#include <iostream>
#include <string>

const char* getDirection(int _dir100)
{
	int nBase = 1125;

	if (_dir100 < nBase * 15)
	{
		if (_dir100 < nBase * 7)
		{
			if (_dir100 < nBase * 3)
			{
				if (_dir100 < nBase)
				{
					return "N";//<1
				}
				else
				{
					return "NNE";//<3
				}

			}
			else {//if (_dir100 >= nBase * 3)
				if (_dir100 < nBase * 5)
				{
					return "NE";//<5
				}
				else
				{
					return "ENE";//<7
				}
			}
		
		}
		else { //if (_dir100 >= nBase * 7)
			if (_dir100 < nBase * 11)
			{
				if (_dir100 < nBase * 9)
				{
					return "E";//<9
				}
				else
				{
					return "ESE";//<11
				}

			}
			else {
				if (_dir100 < nBase * 13)
				{
					return "SE";//<13
				}
				else
				{
					return "SSE";//<15
				}
			}
		}

	}
	else {
		if (_dir100 < nBase * 23)
		{
			if (_dir100 < nBase * 19)
			{
				if (_dir100 < nBase * 17)
				{
					return "S";//<17
				}
				else
				{
					return "SSW";//<19
				}

			}
			else {
				if (_dir100 < nBase * 21)
				{
					return "SW";//<21
				}
				else
				{
					return "WSW";//<23
				}
			}

		}
		else {
			if (_dir100 < nBase * 27)
			{
				if (_dir100 < nBase * 25)
				{
					return "W";//<25
				}
				else
				{
					return "WNW";//<27
				}

			}
			else {//if (_dir100 >= nBase * 27)
				if (_dir100 < nBase * 29)
				{
					return "NW";//<29
				}
				else if (_dir100 < nBase * 31)
				{
					return "NNW";//<31
				}
				else {
					return "N";//else
				}
			}
		}

		return NULL;
	}
}


int get_wind_level(int _m_per_min)
{
	int nResult = 0;
	double d_per_sec = _m_per_min / 60.0;
	int n_per_sec10 = (int)(d_per_sec * 10 + 0.5);

	if (n_per_sec10 <= 2) { return 0; }
	else if (n_per_sec10 <= 15) { return 1; }
	else if (n_per_sec10 <= 33) { return 2; }
	else if (n_per_sec10 <= 54) { return 3; }
	else if (n_per_sec10 <= 79) { return 4; }

	else if (n_per_sec10 <= 107) { return 5; }
	else if (n_per_sec10 <= 138) { return 6; }
	else if (n_per_sec10 <= 171) { return 7; }
	else if (n_per_sec10 <= 207) { return 8; }

	else if (n_per_sec10 <= 244) { return 9; }
	else if (n_per_sec10 <= 284) { return 10; }
	else if (n_per_sec10 <= 326) { return 11; }
	else { return 12; }

}


//int ABC_001_C()
int main()
{
	int deg = 0, dis = 0;
	std::cin >> deg >> dis;

	int nWindLevel =  get_wind_level(dis);

	if (nWindLevel == 0) {
		std::cout << "C 0" << std::endl;
	}
	else {
		const char* pDirection = getDirection(deg * 10);
		std::cout << pDirection << " " << std::to_string(nWindLevel) << std::endl;
	}

	return 0;
}

Submission Info

Submission Time
Task C - 風力観測
User Yohei
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2685 Byte
Status AC
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 66
Set Name Test Cases
all 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 00_sample_06.txt, 00_sample_07.txt, 00_sample_08.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 256 KB
00_sample_02.txt AC 1 ms 256 KB
00_sample_03.txt AC 1 ms 256 KB
00_sample_04.txt AC 1 ms 256 KB
00_sample_05.txt AC 1 ms 256 KB
00_sample_06.txt AC 1 ms 256 KB
00_sample_07.txt AC 1 ms 256 KB
00_sample_08.txt AC 1 ms 256 KB
test_01.txt AC 1 ms 256 KB
test_02.txt AC 1 ms 256 KB
test_03.txt AC 1 ms 256 KB
test_04.txt AC 1 ms 256 KB
test_05.txt AC 1 ms 256 KB
test_06.txt AC 1 ms 256 KB
test_07.txt AC 1 ms 256 KB
test_08.txt AC 1 ms 256 KB
test_09.txt AC 1 ms 256 KB
test_10.txt AC 1 ms 256 KB
test_11.txt AC 1 ms 256 KB
test_12.txt AC 1 ms 256 KB
test_13.txt AC 1 ms 256 KB
test_14.txt AC 1 ms 256 KB
test_15.txt AC 1 ms 256 KB
test_16.txt AC 1 ms 256 KB
test_17.txt AC 1 ms 256 KB
test_18.txt AC 1 ms 256 KB
test_19.txt AC 1 ms 256 KB
test_20.txt AC 1 ms 256 KB
test_21.txt AC 1 ms 256 KB
test_22.txt AC 1 ms 256 KB
test_23.txt AC 1 ms 256 KB
test_24.txt AC 1 ms 256 KB
test_25.txt AC 1 ms 256 KB
test_26.txt AC 1 ms 256 KB
test_27.txt AC 1 ms 256 KB
test_28.txt AC 1 ms 256 KB
test_29.txt AC 1 ms 256 KB
test_30.txt AC 1 ms 256 KB
test_31.txt AC 1 ms 256 KB
test_32.txt AC 1 ms 256 KB
test_33.txt AC 1 ms 256 KB
test_34.txt AC 1 ms 256 KB
test_35.txt AC 1 ms 256 KB
test_36.txt AC 1 ms 256 KB
test_37.txt AC 1 ms 256 KB
test_38.txt AC 1 ms 256 KB
test_39.txt AC 1 ms 256 KB
test_40.txt AC 1 ms 256 KB
test_41.txt AC 1 ms 256 KB
test_42.txt AC 1 ms 256 KB
test_43.txt AC 1 ms 256 KB
test_44.txt AC 1 ms 256 KB
test_45.txt AC 1 ms 256 KB
test_46.txt AC 1 ms 256 KB
test_47.txt AC 1 ms 256 KB
test_48.txt AC 2 ms 256 KB
test_49.txt AC 1 ms 256 KB
test_50.txt AC 1 ms 256 KB
test_51.txt AC 1 ms 256 KB
test_52.txt AC 1 ms 256 KB
test_53.txt AC 1 ms 256 KB
test_54.txt AC 1 ms 256 KB
test_55.txt AC 1 ms 256 KB
test_56.txt AC 1 ms 256 KB
test_57.txt AC 1 ms 256 KB
test_58.txt AC 1 ms 256 KB