您的位置:首页 > 其它

Indian Summer

2015-12-07 11:29 302 查看
Description

Indian summer is such a beautiful time of the year! A girl named Alyona is walking in the forest and picking a bouquet from fallen leaves. Alyona is very choosy — she doesn’t take a leaf if it matches the color and the species of the tree of one of the leaves she already has. Find out how many leaves Alyona has picked.

Input

The first line contains an integer n (1 ≤ n ≤ 100) — the number of leaves Alyona has found. The next n lines contain the leaves’ descriptions. Each leaf is characterized by the species of the tree it has fallen from and by the color. The species of the trees and colors are given in names, consisting of no more than 10 lowercase Latin letters. A name can not be an empty string. The species of a tree and the color are given in each line separated by a space.

Output

Output the single number — the number of Alyona’s leaves.

Sample Input

Input

5

birch yellow

maple red

birch yellow

maple yellow

maple green

Output

4

Input

3

oak yellow

oak yellow

oak yellow

Output

1

题意:找完全不一样的字符串a, b的个数,

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
struct xx
{
char name[20], color[20];
}x[101];
int cmp(const void *x, const void *y)
{
struct xx x1 = *(struct xx *)x;
struct xx y1 = *(struct xx *)y;
if(strcmp(x1.name, y1.name)) return (strcmp(x1.name, y1.name));
else return (strcmp(x1.color, y1.color));
}
int main()
{
int n;
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
while(~scanf("%d", &n))
{
int ant = 0;
for(int i = 0; i < n; i++)
{
scanf("%s %s", x[i].name, x[i].color);
}
qsort(x, n, sizeof(x[0]), cmp);
for(int i = 0; i < n - 1; i++)
{
if(!strcmp(x[i].name, x[i + 1].name) && !strcmp(x[i].color, x[i + 1].color))
{
ant++;
}
}
//printf("[%d]\n", ant);
/*for(int i = 0; i < n; i++)
{
printf("%s %s\n", x[i].name, x[i].color);
}*/
printf("%d\n", n - ant);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: