📄 cyc.cpp
字号:
// Cyc.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef vector<int> int_array;
int _tmain(int argc, _TCHAR* argv[])
{
int team_count;//队伍总数
cin >> team_count; //输入队伍数
int virtual_team_count = team_count;//虚拟队伍数,保证是偶数
if (virtual_team_count % 2 != 0)
++virtual_team_count;
int turn_count = virtual_team_count - 1; //比赛轮数
int game_count_per_turn = virtual_team_count / 2; //每轮的比赛数
int_array game_numbers(virtual_team_count); //所有的队伍号码
for(int i = 1; i <= team_count; ++i)
game_numbers[i - 1] = i;
if (virtual_team_count != team_count) //奇数人,增加一个虚拟队伍号0,与虚拟队伍比赛表示这天轮空
game_numbers[virtual_team_count - 1] = 0; //虚拟的队伍号码为0
for (int i = 1; i <= turn_count; ++i)
{
std::cout << "第" << i << "轮:";
for (int j = 1; j <= game_count_per_turn; j ++)
{
std::cout << "<" << game_numbers[j - 1] << "," << game_numbers[virtual_team_count - j] << "> ";
}
std::cout << endl;
//std::cout<<"<";
//for (int j = 0; j < virtual_team_count; j ++)
//{
// std::cout << game_numbers[j] << ",";
//}
//std::cout<< ">" <<std::endl;
// 重新排列2-n的位置,主要是将最后一个数旋转到第二个位置上。
std::rotate(game_numbers.begin() + 1, game_numbers.end() - 1, game_numbers.end());
//std::cout<<"<";
//for (int j = 0; j < virtual_team_count; j ++)
//{
// std::cout << game_numbers[j] << ",";
//}
//std::cout<< ">" <<std::endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -