История изменений
Исправление
wota,
(текущая версия)
:
#include <cstdio>
#include <map>
int main() {
std::map<int,int> stack;
int homos=0, n, i;
char buf[20];
scanf("%d",&n);
while(n--) {
scanf("%s %d", &buf, &i);
if(*buf == 'i')
if(stack[i]++) ++homos;
else if(stack.count(i))
--stack[i] ? --homos : stack.erase(i);
puts(stack.size() > 1 ? homos ? "both" : "hetero" : homos ? "homo" : "neither");
}
}
не до конца прилизал код quasimoto, вот более простая версия
Исправление
wota,
:
#include <cstdio>
#include <map>
int main() {
std::map<int,int> stack;
int homos=0, n, i;
char buf[20];
scanf("%d",&n);
do {
scanf("%s %d", &buf, &i);
if(*buf == 'i')
if(stack[i]++) ++homos;
else if(stack.count(i))
--stack[i] ? --homos : stack.erase(i);
puts(stack.size() > 1 ? homos ? "both" : "hetero" : homos ? "homo" : "neither");
} while (--n);
}
не до конца прилизал код quasimoto, вот более простая версия
Исходная версия
wota,
:
#include <cstdio>
#include <map>
int main() {
std::map<int,int> stack;
int homos=0, n, i;
char buf[20];
scanf("%d",&n);
do {
scanf("%s %d", &buf, &i);
if(*buf == 'i')
if(stack[i]++) ++homos;
else if(stack.count(i))
--stack[i] ? --homos : stack.erase(i);
puts(stack.size() > 1 ? homos ? "both" : "hetero" : homos ? "homo" : "neither");
} while (--n);
}
не доконца прилизал код quasimoto, вот более простая версия