7 - 2 수강 신청 학생 명단 인쇄 (vector 사용)
입력 형식: 입력 한 첫 줄 은 두 개의 정수 입 니 다. N (≤ 40000) 은 전교 학생 총수 입 니 다.K (≤ 2500), 총 과정 수 입 니 다.이후 N 줄 은 각 줄 에 학생 이름 (대문자 3 개 + 1 자리 숫자), 정수 C (≤ 20) 가 해당 학생 이 선택 한 과정 문 수 를 대표 하고 그 다음 에 C 개의 과정 번 호 를 포함한다.간단하게 말하자면 수업 은 1 부터 K 번호 까지 이다.
출력 형식: 순차 출력 과정 1 부터 K 까지 의 수강 신청 학생 명단.형식 은 모든 과목 에 대해 먼저 한 줄 에 과정 번호 와 수강 신청 학생 총수 (사이 에 빈 칸 으로 구분) 를 출력 한 다음 에 두 번 째 줄 에 사전 순서에 따라 학생 명단 을 출력 하고 각 학생 의 이름 이 한 줄 을 차지한다.
입력 샘플: 105 ZOE 1 2 4 5 ANN 0 3 5 2 1 BOB 5 3 4 1 5 JOE 4 1 2 JAY 9 4 1 2 5 4 FRA 8 3 4 2 5 DON 2 2 4 5 AMY 7 1 5 KAT 3 5 4 2 LOR 6 4 2 4 1 5
출력 예시: 14 ANN 0 BOB 5 JAY 9 LOR 6 2 7 ANN 0 BOB 5 FRA 8 JAY 9 JOE 4 KAT 3 LOR 6 3 1 BOB 5 4 7 BOB 5 DON 2 FRA 8 JAY 9 KAT 3 LOR 6 ZOE 1 5 9 AMY 7 ANN 0 BOB 5 DON 2 FRA 8 JAY 9 KAT 3 LOR 6 ZOE 1
vector v [N] 에 각 과목 에 어떤 학생 들 이 신청 을 했 는 지 저장 합 니 다.
#include
#include
#include
#include
using namespace std;
const int N = 1e5 + 10;
vector<string> v[N];
string s;
int main()
{
int n, m;
cin >> n >> m;
while(n -- )
{
cin >> s;
int t;
cin >> t;
while(t -- )
{
int x;
cin >> x;
v[x].push_back(s);
}
}
for(int i = 1; i <= m; i ++ )
{
printf("%d %d
", i, (int)v[i].size());
sort(v[i].begin(), v[i].end());
for(int j = 0; j < v[i].size(); j ++ )
printf("%s
", v[i][j].c_str());
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.