301

#include <iostream> #include <vector> #include <algorithm> using namespace std; struct order{ int start; int dest; int pss; int prft; }; vector<order> vb; int cap,b,num_order; int result; int passenger_cap[10]; int solve(int position_order,int max) { if(result<max) result=max; int f; while(position_order<=(num_order-1)) { f=0; for(int i=vb[position_order].start;i<vb[position_order].dest;i++) { passenger_cap[i]+=vb[position_order].pss; if(passenger_cap[i]>cap) { f=1; //break; } } if(!f) { solve(position_order+1,max+vb[position_order].prft); } for(int

12712

#include <iostream> using namespace std; int main() { int t,c=0; int MX; int L,M,N; unsigned long long sum,tmp; cin>>t; while(t–) { cin>>L>>M>>N; c++; MX=L*L; tmp=1; for(int i=M-1;i>=0;i–) { tmp=tmp*(MX-i); tmp%=10000000000007; } sum=0; for(int j=1;j<=N-M+1;j++) { sum+=tmp; sum%=10000000000007; tmp*=(MX-M+1-j); tmp%=10000000000007; } cout<<"Case "<<c<<": "; cout<<sum<<"\n"; } return 0; }