字节跳动第四题为什么没有ac啊
#include <iostream> #include <vector> using namespace std; void dp(int l,int n,long long sum,vector<vector<int>> &rec, vector<long long> &res) { long long record=sum; for(int i=l;i<=n;i++) { for(int j=i+1;j<=n;j++) { sum=record; if(rec[i][j]==1) { sum+=1; int a=sum%3; if(a==0) { res[0]+=sum; }else if(a==1) { res[1]+=sum; }else{ res[2]+=sum; } dp(j,n,sum,rec,res); } } } } int main() { int n=0; cin>>n; long long sum=0; vector<int> temp(n+1,0); vector<long long> res(3,0); vector<vector<int>> rec(n+1,temp); int a=0,b=0; for(int i=0;i<n-1;i++) { cin>>a>>b; rec[a][b]=1; rec[b][a]=1; } for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) { sum=0; if(rec[i][j]==1) { sum+=1; int a=sum%3; if(a==0) { res[0]+=sum; }else if(a==1) { res[1]+=sum; }else{ res[2]+=sum; } dp(j,n,sum,rec,res); } } } long cout1=res[0]%(1000000007); long cout2=res[1]%(1000000007); long cout3=res[2]%(1000000007); cout<<cout1<<' '<<cout2<<' '<<cout3; return 0; }
#字节跳动##笔试题目#