Analiza programów

17.06.2009

Górskie szlaki

#include<iostream>//REV: czyżby?
#include<vector>
using namespace std;
int main()
{
    int n;
    scanf("%d", &n);
    vector<int> graf[n+2];//REV: nieprzenośnie ale znośnie:) Czy on zeruje pamięć?
 
    n--;//REV: czy warto zmieniać dobrze zdefiniowaną wartość n?
    int a=0,b=0;
    for(int g=0; g<n; g++){//REV: mało znacząca nazwa g
        scanf("%d%d", &a, &b);
        graf[a].push_back(b);
        graf[b].push_back(a);//REV: zduplikowany kawałeczek logiczki
    }
 
    int licznik=0;
    for(int g=0; g<=n; g++){//REV: mało znacząca nazwa g
        if(graf[g].size()==1) licznik++;//REV: i tu wychodzi, że zamiast wektora wystarczył licznik, a za karę trzeba poprawić w dwóch miejscach:)
    }
 
    licznik++;
    licznik/=2;//REV: szczerze mówiąc nie wiem o co chodzi w zadaniu, ale coś mi się wydaje, że mamy tu przerost formy nad treścią
    printf("%d", licznik);
 
    return 0;
}
 

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com