Czyli, nie warto nad tym za głęboko się zastanawiać, ale przynajmniej takie podstawy znać i o nich wiedzieć. Stosowanie tego czy tego to przede wszystkim kwestia gustu i estetyki. Jeżeli potrafimy napisać jedną wersję czytelnie [to pewnie drugą też] to ją stosujmy i tyle;-)
W ramach "czystości" kodu, napisałem przed jakąś chwilą program, nawet z jakąś tam strukturą i na switchach, ale niestety, testy z zadania ok, a na spoju wa. Nie mam już siły ani ochoty się grzebać, ale jak by ktoś chciał, to proszę bardzo:
[bbone=cpp,2319]#include
using namespace std;
struct Point{
int x, y;
};
struct WiatrIwoda{
int policz(Point poz, Point meta, int d, string tabWiatry){
int i = 0;
for(; i < d; ++i){
if(poz.x == meta.x && poz.y == meta.y) break;
switch (tabWiatry[i]){
case 'N':
if(meta.y > poz.y) ++poz.y;
break;
case 'S':
if(meta.y < poz.y) --poz.y;
case 'W':
if(meta.x < poz.x) --poz.x;
break;
case 'E':
if(meta.x > poz.x) ++poz.x;
break;
default:
break;
}
}
if(poz.x == meta.x && poz.y == meta.y) return i;
else return -1;
}
};
int main(){
WiatrIwoda wiw;
int d,t;
Point s, m;
string dzWiatry;
cin >> t;
while(t--){
cin >> s.x >> s.y >> m.x >> m.y >> d >> dzWiatry;
d = wiw.policz(s, m, d, dzWiatry);
if (d == -1) cout << "NIE\n";
else cout << d << endl;
}
}
[/bbone]
PS
Teraz zauważyłem, jeden malutki błąd. W default: powinienem wpisać: count << " Go to forum i Help me please, please
!!!" << endl; 
PS2
Oczywiście, na "gołych" cin/cout'ach, przy tak dużych testach i tak wyśrubowanych limitach grozi tle, ale wolałbym tle niż wa.
PS3
Oczywiście mam już ac, więc spokojnie, spoko, spoko
PS4
Jak znajdziesz błąd, to raczej nie umieszczaj wyjaśnienia, zachowaj dla siebie, w ten sposób, nikt bezmyślnie nie będzie wklejał prawie gotowego rozwiązania
PS5
Oczywiście testowałem......
ale tylko na danych z zadania 