fork download
  1. #include <stdio.h>
  2.  
  3. #define MAX_SIZE 100
  4.  
  5. unsigned int randaux()
  6. {
  7. static long seed=1;
  8. return(((seed = seed * 214013L + 2531011L) >> 16) & 0x7fff);
  9. }
  10.  
  11. int Saude(int mundo[MAX_SIZE][MAX_SIZE], int L, int C, int linha,int coluna) {
  12. int semCovid, comCovid;
  13. for(int i=linha-1 ; i <= linha+1 ; i++){
  14. for(int j=coluna-1 ; j<=coluna+1 ; j++)
  15. if(linha!=i && coluna!=j){
  16. if(mundo[i][j] < 0){
  17. comCovid++;
  18. }
  19. if(mundo[i][j] > 0){
  20. semCovid++;
  21. }
  22. }
  23. }
  24. if(mundo[linha][coluna] == 0){
  25. if(semCovid == 2){
  26. mundo[linha][coluna]=1;
  27. }
  28. else
  29. mundo[linha][coluna]=0;
  30. }
  31. if(mundo[linha][coluna] < 0){
  32. if(comCovid <= 2){
  33. mundo[linha][coluna]*(0-1);
  34. }
  35. else
  36. mundo[linha][coluna]+1;
  37. }
  38. if(mundo[linha][coluna] > 0){
  39. if(semCovid <= 1){
  40. mundo[linha][coluna]-1;
  41. }
  42. if(semCovid >= 5 || comCovid >= 3){
  43. mundo[linha][coluna]*(0-1);
  44. }
  45. else if(mundo[linha][coluna] < 2){
  46. mundo[linha][coluna]++;
  47. }
  48. }
  49. }
  50.  
  51. void GerarMundo(int mundo[MAX_SIZE][MAX_SIZE], int L, int C){
  52. int i, j;
  53. for(i=0;i<L;i++)
  54. for(j=0;j<C;j++)
  55. mundo[i][j]=randaux()%5-2;
  56. }
  57.  
  58.  
  59. void main() {
  60. int i,j,L,C,linha,coluna;
  61. int mundo[MAX_SIZE][MAX_SIZE];
  62. scanf("%d %d %d %d",&L,&C,&linha,&coluna);
  63. GerarMundo(mundo,L,C);
  64. printf("%d",Saude(mundo,L,C,linha,coluna));
  65.  
  66. }
Success #stdin #stdout 0.01s 5272KB
stdin
10 5 3 2
stdout
Standard output is empty