fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define FR0(i,N) for(i=0;i<(N);i++)
  4. #define FR1(i,N) for(i=1;i<=(N);i++)
  5. #define FRN(i,k,N) for(i=k;i<(N);i++)
  6. #define pf printf
  7. #define db double
  8. #define max3(a,b,c) max(max(a,b),c)
  9. #define min3(a,b,c) min(min(a,b),c)
  10. #define sci(n) scanf("%d",&n)
  11. #define scl(n) scanf("%lld",&n)
  12. #define scf(n) scanf("%f",&n)
  13. #define scd(n) scanf("%lf",&n)
  14. #define scs(s) scanf("%s",&s)
  15. #define scll(n) scanf("%%I64d",&n)
  16. #define PI acos(-1.0)
  17. #define LL long long
  18. #define MX 1000005
  19. #define MOD 1000000007
  20. typedef long long int ll;
  21. bool status[1100002];
  22. int main()
  23. {
  24. int coconunts,men,monkey;
  25. while(sci(coconunts))
  26. {
  27. int n=coconunts;
  28. if(coconunts==-1) break;
  29. int cnt;
  30. int flag=0;
  31. int test;
  32. for(int i=5; i>=2; i--)
  33. {
  34. cnt=0;
  35. test=0;
  36. int f=0;
  37. coconunts=n;
  38. while(coconunts)
  39. {
  40. men=coconunts/i;
  41. monkey=coconunts-(men*i);
  42. //cout<<"yes"<<endl;
  43. //cout<<"men = "<<men<<" monkey = "<<monkey<<endl;
  44. if(monkey==1)
  45. {
  46. coconunts=coconunts-men-1;
  47. //cout<<"b = "<<coconunts<<endl;
  48. }
  49. else
  50. {
  51. test=1;
  52. break;
  53. }
  54. // cout<<"i = "<<i<<endl;
  55. cnt++;
  56. //cout<<"men = "<<men<<" monkey = "<<monkey<<" coconunts = "<<coconunts<<" i = "<<i<<" cnt = "<<cnt<<endl;
  57. if(cnt==i)
  58. {
  59. if(coconunts%i==0)
  60. {
  61.  
  62. f=1;
  63. //cout<<"f = "<<f<<endl;
  64. break;
  65. }
  66. }
  67. //if(test) break;
  68. // cout<<"men = "<<men<<" coconunts = "<<coconunts<<" monkey = "<<monkey<<endl;
  69. }
  70. if(f)
  71. {
  72. //cout<<n<<" coconuts, "<<i<<" people and "<<monkey<<" monkey"<<endl;
  73. pf("%d coconuts, %d people and %d monkey\n",n,i,monkey);
  74. flag=1;
  75. }
  76. if(flag) break;
  77. }
  78.  
  79. //cout<<n<<" coconuts, "<<i<<" people and "<<monkey<<" monkey"<<endl;
  80. if(!flag) //cout<<n<<" coconuts, no solution"<<endl;
  81. pf("%d coconuts, no solution\n",n);
  82. }
  83. }
  84.  
Success #stdin #stdout 0s 4532KB
stdin
25
30
3121
-1
stdout
25 coconuts, 3 people and 1 monkey
30 coconuts, no solution
3121 coconuts, 5 people and 1 monkey