Submission #2172757
Source Code Expand
#include <iostream> using namespace std; typedef long long ll; #define rep(i,s,n)for(ll i = s;i<n;i++) struct Node { char name[51]; int count = 0; Node* next; Node* prev; }; Node* nil; void init() { nil = (Node *)malloc(sizeof(Node)); nil->count = -1; nil->next = nil; nil->prev = nil; } bool ifExist(char* name, Node* node) { while (true) { rep(i, 0, 51) { if (name[i] == '\0' && node->name[i] == '\0') { return true; } else if (name[i] == '\0' || node->name[i] == '\0' || name[i] != node->name[i]) { return false; } } } return true; } void addLast(char* name) { Node* node = new Node; rep(i, 0, 51) { node->name[i] = name[i]; if (name[i] == '\0') { break; } } node->count++; node->next = nil; nil->prev->next = node; node->prev = nil->prev; nil->prev = node; } void countName(char* name) { Node* node = nil->next; bool isExist = false; while (true) { if (node->count == -1)break; if (ifExist(name, node)) { isExist = true; node->count++; break; } node = node->next; } if (!isExist) { addLast(name); } } int main() { int N; cin >> N; char n[51]; init(); rep(i, 0, N) { cin >> n; countName(n); } int maxName = 0; Node* maxNode; Node* countNode = nil->next; while (true) { if (maxName < countNode->count) { maxNode = countNode; maxName = countNode->count; } countNode = countNode->next; if (countNode->count == -1) { break; } } cout << maxNode->name << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - 投票 |
User | butanokakuni2 |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1593 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
case_01.txt | AC | 1 ms | 256 KB |
case_02.txt | AC | 1 ms | 256 KB |
case_03.txt | AC | 1 ms | 256 KB |
case_04.txt | AC | 1 ms | 256 KB |
case_05.txt | AC | 1 ms | 256 KB |
case_06.txt | AC | 1 ms | 256 KB |
case_07.txt | AC | 1 ms | 256 KB |
case_08.txt | AC | 1 ms | 256 KB |
case_09.txt | AC | 1 ms | 256 KB |
case_10.txt | AC | 1 ms | 256 KB |
case_11.txt | AC | 1 ms | 256 KB |
case_12.txt | AC | 1 ms | 256 KB |
case_13.txt | AC | 1 ms | 256 KB |
case_14.txt | AC | 1 ms | 256 KB |
case_15.txt | AC | 1 ms | 256 KB |
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |