Bug記錄:
在解題時候,數組範圍沒開夠(少1位),雖然在本地表面上可以Ac,但在計蒜客終端上無法正確運行。當下標從1開始時,數組範圍也要記得要開夠啊!!!
#include<iostream>
#include<stdio.h>
using namespace std;
int n,m;
int ans = 0;
int p[5][2];
int mem[151][5];
void pre(){
for(int i=1;i<=m;i++){
for(int j=1;j<=4;j++){
if(j ==1){
mem[i][j] = i;
continue;
}
mem[i][j] = mem[i][j-1]*i;
}
}
}
void dfs(int index,int total){
if(index==n+1){
if(total ==0){
ans++;
return;
}
return;
}
int ki = p[index][0];
int pi = p[index][1];
for(int j=1;j<=m;j++){
int temp = ki*mem[j][pi];
dfs(index+1,total+temp);
}
}
int main(){
//freopen("in.txt","r",stdin);
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>p[i][0]>>p[i][1];
}
pre();
dfs(1,0);
cout<<ans<<'\n';
return 0;
}