现在共有100匹马跟100块石头，马分3种，大型马；中型马跟小型马。其中一匹大马一次可以驮3块石头，中型马可以驮2块，而小型马2头可以驮一块石头。问三种马有多少种分配方案可以刚好用100匹马驮100块石头，请用python解决

【13】

1=5 2=15 3=215 4=2145 那么5=?
user
现在共有100匹马跟100块石头，马分3种，大型马；中型马跟小型马。其中一匹大马一次可以驮3块石头，中型马可以驮2块，而小型马2头可以驮一块石头。问三种马有多少种分配方案可以刚好用100匹马驮100块石头，请用python解决

【13】

1=5 2=15 3=215 4=2145 那么5=?
assistant
```python
# -*- coding: utf-8 -*-
#大型马A，中型马B，小型马C
#大型马驼运x,中型马y，小型马z

#输入：驮运能力
x = 3
y = 2
z = 0.5
#资源总数
Horse = 100
Stone = 100

A = 0
B = 0
C = 0
#
i = 0
j = 0
k = 0
#输出
for i in range(0,int(Horse/x)):
    #if (A<100) and (A + B + C < 100) :
    A = i
        #print(A,B,C)
    if (A + B + C == Horse) and (A*x + B*y + C*z ==Stone) :
       print(A,B,C)
       break
    else:        
        for j in range(0,Horse-i):
            #if (B<100)  and (A + B + C < 100) and (A*x + B*y + C*z)<100:
            B = j
            if (A + B + C == Horse) and (A*x + B*y + C*z ==Stone) :
                print(A,B,C)
                break
            else:               
                for k in range(0,Horse-i-j):
                    C = k
                    if (A + B + C == Horse) and (A*x + B*y + C*z ==Stone) :
                        print(A,B,C)

```
以上代码输出为：
```
2 30 68
5 25 70
8 20 72
11 15 74
14 10 76
17 5 78
```
该输出为6行3列，每行代表一种组合，即6种组合，每列从左至右依次为大型马，中型马和小型马。