Zadanie 4. ROBOT


kod jako jpg - kopiuj/wklej NIC nikogo nie nauczyło
kod jako jpg - kopiuj/wklej NIC nikogo nie nauczyło

//robot1
#include<iostream>
using namespace std;

int wyn,x,y;
string s;
int main ()
{
  for (int i=0; i<1000; i++) {
    cin >> s;
    x = 0;  y = 0;
    for (int j=0; j<s.size(); j++) {
      if (s[j] == 'E') x++;
      if (s[j] == 'W') x--;
      if (s[j] == 'S') y++;
      if (s[j] == 'N') y--;
      if (x<0 || y<0 || x>19 || y>19) {
        wyn++;
        break;
      }
    }
  }
  cout << wyn;
  return 0;
}
//robot2
#include<iostream>
using namespace std;

int wyn,x,y,Wynik,zawodnik,t[20][20];
string s;
int main ()
{
  for (int y=0; y<20; y++)
    for (int x=0; x<20; x++)
      cin >> t[x][y];
  for (int i=0; i<1000; i++)
  {
    cin >> s;
    x = 0; y = 0;
    wyn=t[0][0];
    for (int j=0; j<s.size(); j++)
    {
      if (s[j] == 'E') x++;
      if (s[j] == 'W') x--;
      if (s[j] == 'S') y++;
      if (s[j] == 'N') y--;
      if (x<0 || y<0 || x>=20 || y>=20)
		{ wyn = -1;break; }
      else wyn+=t[x][y];
    }
    if (wyn>Wynik)
    {
      zawodnik = i;
      Wynik = wyn;
    }
  }
  cout<<zawodnik+1 <<" "<< Wynik;
  return 0;
}

// robot 3
#include<iostream>
using namespace std;

int wyn,Wynik,WYNIK=0,gracze[1000]={0},gr=0;
string s;
int main ()
{
  for (int i=0; i<1000; i++)
  {
    cin >> s;
    wyn = 0;
    Wynik = 0;
    for (int j=0; j<s.size(); j++)
    {
      if (s[j] == 'E' || s[j] == 'W') wyn++;
      else
      {
        Wynik = max(wyn,Wynik);
        wyn=0;
      }
    }
    if(WYNIK==Wynik) gracze[gr++] = i+1;
    if(WYNIK<Wynik) {
	  WYNIK=Wynik;
	  gr=0;
	  gracze[gr++] = i+1;
	}
  }
  cout << WYNIK;
  for(int i;i<gr;i++) cout<<" "<<gracze[i];
  return 0;
}