結果

問題 No.267 トランプソート
ユーザー hanorverhanorver
提出日時 2015-08-21 22:44:02
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 1,335 bytes
コンパイル時間 575 ms
コンパイル使用メモリ 67,028 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-07-18 11:46:51
合計ジャッジ時間 1,267 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
5,248 KB
testcase_01 AC 2 ms
5,376 KB
testcase_02 AC 1 ms
5,376 KB
testcase_03 AC 1 ms
5,376 KB
testcase_04 AC 2 ms
5,376 KB
testcase_05 AC 1 ms
5,376 KB
testcase_06 AC 1 ms
5,376 KB
testcase_07 AC 2 ms
5,376 KB
testcase_08 AC 2 ms
5,376 KB
testcase_09 AC 2 ms
5,376 KB
testcase_10 AC 1 ms
5,376 KB
testcase_11 AC 1 ms
5,376 KB
testcase_12 AC 2 ms
5,376 KB
testcase_13 AC 1 ms
5,376 KB
testcase_14 AC 1 ms
5,376 KB
testcase_15 AC 1 ms
5,376 KB
testcase_16 AC 1 ms
5,376 KB
testcase_17 AC 1 ms
5,376 KB
testcase_18 AC 1 ms
5,376 KB
testcase_19 AC 1 ms
5,376 KB
testcase_20 AC 1 ms
5,376 KB
testcase_21 AC 1 ms
5,376 KB
testcase_22 AC 2 ms
5,376 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:28:42: warning: ‘suit_num’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   28 |                 cards.push_back(suit_num * 100 + card_num);
      |                                 ~~~~~~~~~^~~~~

ソースコード

diff #

#include<iostream>
#include<vector>
#include<algorithm>

int main() {
	int card_num;

	std::cin >> card_num;

	std::vector<int> cards;
	for (int i = 0; i < card_num; i++) {
		char suit, card;
		int suit_num, card_num;
		std::cin >> suit >> card;

		if (suit == 'D') suit_num = 0;
		else if (suit == 'C') suit_num = 1;
		else if (suit == 'H') suit_num = 2;
		else if (suit == 'S') suit_num = 3;

		if (card == 'T') card_num = 10;
		else if (card == 'J') card_num = 11;
		else if (card == 'Q') card_num = 12;
		else if (card == 'K') card_num = 13;
		else if (card == 'A') card_num = 1;
		else card_num = card - '0';

		cards.push_back(suit_num * 100 + card_num);
	}
	
	std::sort(cards.begin(), cards.end());

	for (std::vector<int>::iterator it = cards.begin(); it != cards.end(); it++) {
		int num, suit_num;
		num = *it % 100; *it /= 100;
		suit_num = *it;

		if (suit_num == 0)std::cout << 'D';
		else if (suit_num == 1)std::cout << 'C';
		else if (suit_num == 2)std::cout << 'H';
		else if (suit_num == 3)std::cout << 'S';

		if (num == 10) std::cout << 'T';
		else if (num == 11) std::cout << 'J';
		else if (num == 12) std::cout << 'Q';
		else if (num == 13) std::cout << 'K';
		else if (num == 1) std::cout << 'A';
		else std::cout << num;

		if (it != cards.end() - 1) std::cout << " ";
	}

	std::cout << std::endl; 
	return 0;
}
0