Indian Summer

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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章