fork download
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5. int n,s,c,stato_corr,stato_attuale,sposta,car_letto;
  6.  
  7. int main() {
  8.  
  9. //freopen("input.txt", "r", stdin);
  10. //freopen("output.txt", "w", stdout);
  11. cin>>n;
  12. cin>>s;
  13. cin>>c;
  14. int nastro[n];
  15. int stato_new[s][c],spostamento[s][c];
  16. //matrice di transizione
  17. for (int i=0;i<s*c;i++)
  18. {
  19. cin>>stato_corr;
  20. cin>>car_letto;
  21. cin>>stato_new[stato_corr][car_letto];
  22. cin>>spostamento[stato_corr][car_letto];
  23. }
  24. //valori del nastro
  25. for (int i=0;i<n;i++)
  26. {
  27. cin>>nastro[i];
  28. }
  29. stato_corr=0;
  30. int pos=1;int sposta=0;stato_attuale=1;
  31. cout<<nastro[pos]<<endl;
  32. while (nastro[pos]!=0)
  33. {
  34. stato_attuale=stato_new[stato_corr][nastro[pos+sposta]];
  35. cout<<"st_att"<<stato_attuale;
  36. sposta=spostamento[stato_corr][nastro[pos+sposta]];
  37. cout<<"sposta"<<sposta;
  38. cout<<nastro[pos+sposta]<<endl;
  39. pos=pos+sposta;
  40. }
  41.  
  42. return 0;
  43. }
Success #stdin #stdout 0s 3344KB
stdin
5 2 3
0 0 1 -2
0 1 0 -2
0 2 0 1
1 0 1 -1
1 1 0 -1
1 2 0 2
0
2
1
0
1
stdout
2
st_att0sposta11
st_att1sposta-20