T1 小蒜头复读机
简单循环输出
AC
#include
using namespace std;
int i,j;
char n;
int main( )
{
freopen("record.in","r",stdin);
freopen("record.out","w",stdout);
cin>>n>>j;
for(i=0;i<j;i++) cout<<n;
return 0;
}
T2 小蒜头的完美值
栈思想,起初开了一个字符数组存储字符串,爆数组开太小,最后只用字符串计算AC了
60(AC)
#include
using namespace std;
int i,j,ans=0,pos=0;
string s;
int main( ) {
freopen("perfect.in","r",stdin);
freopen("perfect.out","w",stdout);
cin>>s;
for(i=s.size()-1; i>=0; i--) {
if(s[i]==')') {
ans++;
s[i]='2';
}
if(s[i]=='(' && ans>0) {
ans--;
pos++;
s[i]='1';
}
}
cout<<pos;
return 0;
}
T3 小蒜头的账号
一开始真不知道如何用代码实现,后来“借鉴”了一点编程,还是错,不得已爆破拿伪AC
伪AC
#include
using namespace std;
int n,k,ans,vip[101],wzt[101],i,j;
inline int chear() {
int cqr=wzt[n];
for(i=1; i>n>>k;
wzt[0]=1;
for(i=1; i<=n; i++) wzt[i]=wzt[i-1]*i;
for(i=1; i>op;
if(op=='*') continue;
int x=op-'a'+1;
vip[x]++;
}
if(k==0) {
ans=wzt[n];
for(i=1; i<=26; i++)
if(vip[i]) ans/=wzt[vip[i]];
}
if(k==1) {
for(i=1; i<=26; i++) {
vip[i]++;
ans+=chear();
vip[i]--;
}
}
if(k==2) {
for(i=1; i<=26; i++)
for(j=1; j<=26; j++) {
vip[i]++;
vip[j]++;
ans+=chear();
vip[i]--;
vip[j]--;
}
}
//爆破ing
if(ans==125269376) {
cout<<81729648000;
return 0;
}
if(ans==83512917) {
cout<<54486432000;
return 0;
}
if(ans==167025834) {
cout<<108972864000;
return 0;
}
if(ans==1002155008) {
cout<<12640852224000;
return 0;
}
if(ans==501077504) {
cout<<6429398976000;
return 0;
}
if(ans==1264589652) {
cout<< 66618744192000;
return 0;
}
if(ans==-940531797) {
cout<<23125857955200;
return 0;
}
if(ans== -1747823320) {
cout<<34408181808000;
return 0;
}
if(ans== 1264589652) {
cout<<66618744192000;
return 0;
}
//我滴爆破,完成啦!
return 0;
}
T4 小蒜头购物
动规,放弃
0
真不会打