Advertisement
Guest User

5.3 | han solitario

a guest
Oct 16th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int verdad(int, int,int , int);
  5.  
  6. struct {
  7. int tv;
  8. int tx;
  9. int ty;
  10.  
  11. }troop[1000];
  12.  
  13.  
  14. int main(){
  15.  
  16. int n,i,shot=0,hx,hy,resta;
  17. scanf("%d",&n);
  18. scanf("%d %d",&hx,&hy);
  19. resta=hx-hy;
  20. for (i = 0; i < n ; i++){
  21. scanf("%d %d %d",&troop[i].tx,&troop[i].ty,&troop[i].tv);
  22. }
  23.  
  24. while (verdad(n,resta,hx,hy)!=0){
  25. shot++;
  26. }
  27. printf("%d",shot);
  28.  
  29.  
  30. }
  31.  
  32. int verdad(int n,int resta,int hx ,int hy){
  33. int flag = 0;
  34. int i;
  35. for (i = 0 ; i < n ; i++){
  36.  
  37. if ( fabs(troop[i].tx)-fabs(troop[i].ty) == resta && troop[i].tv > 0){
  38. troop[i].tv--;
  39. flag = 1;
  40. }
  41.  
  42.  
  43. }
  44.  
  45. if (flag==1){
  46. return 1;
  47. }
  48.  
  49. for (i = 0 ; i < n ; i++){
  50. if (troop[i].tv > 0 && fabs(troop[i].tx) ==fabs(hx)){
  51. troop[i].tv--;
  52. flag = 1;
  53. }
  54. }
  55.  
  56. if (flag==1){
  57. return 1;
  58. }
  59. for (i = 0 ; i < n ; i++){
  60. if (troop[i].tv > 0 && fabs(troop[i].ty) ==fabs(hy)){
  61. troop[i].tv--;
  62. flag = 1;
  63. }
  64. }
  65.  
  66. if (flag==1){
  67. return 1;
  68. }
  69. for (i = 0 ; i < n ; i++){
  70. if (troop[i].tv > 0){
  71. troop[i].tv--;
  72. return 1;
  73. }
  74. }
  75.  
  76.  
  77. return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement