Cod sursa(job #2959696)

Utilizator gabrielstefanStefan Gabriel gabrielstefan Data 2 ianuarie 2023 13:34:46
Problema Restante Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <fstream>
#include <cstring>
#include <algorithm>

using namespace std;

ifstream cin("restante.in");
ofstream cout("restante.out");

int main(){
    
    char m[100][18], aux[20];
    int n, cnt = 0;
    cin >> n;

    for(int i = 1; i <= n; ++i){
        cin >> m[i];
        int len = strlen(m[i]);
        bool sortat = false;
        while(!sortat){
            sortat = true;
            for(int j = 0; j < len - 1; ++j){
                if(m[i][j] > m[i][j+1]){
                    swap(m[i][j], m[i][j+1]);
                    sortat = false;
                }
            }
        }
    }
        
    bool sortat = false;
    while(!sortat){
        sortat = true;
        for(int i = 1; i < n; ++i){
            if(strcmp(m[i], m[i+1]) > 0){
                strcpy(aux, m[i]);
                strcpy(m[i], m[i+1]);
                strcpy(m[i+1], aux);
                sortat = false;
            }
        }
    }

    if(strcmp(m[1], m[2]))
        cnt++;
    if(strcmp(m[n-1], m[n]))
        cnt++;
    for(int i = 2; i < n; ++i)
        if(strcmp(m[i], m[i+1]) && strcmp(m[i], m[i-1]))
            cnt++;

    cout << cnt;    

    return 0;
}