笔试的时候差一点就写出来了,但是最后只能无奈骗分5%,考试的时候dfs老是写不对,快麻了,下面是我考完写出来的,应该是正确的,通过了一些测试用例。#include<iostream>using namespace std;void dfs(int n,int m,int res,int i,int count,int&amp; maxres,int num){if(num==m&amp;&amp;count==n){if(maxres<res){maxres=res;}return;}if(count==n){return;}for(int j=1;j<8;++j){num=num+j;if(j==i){++res;}++count;dfs(n,m,res,i,count,maxres,num);if(j==i){--res;}--count;num=num-j;if(count==0){return;}}}int main(){int n,m;cin>>n>>m;for(int i=1;i<8;++i){int num=i;int maxres=1;int res=1;int count=1;dfs(n,m,res,i,count,maxres,num);cout<<maxres<<endl;}}