Solução para a 56ª edição da competição CSDN

Solução para a 56ª edição da competição CSDN

1. Nome do tópico: Fatores - Jogo de Números

O suco de limão do pequeno Q está pronto. Ele pegou seu cartão digital. Quer jogar o jogo dos números com outras pessoas. Mas ela não queria perder o jogo. Ela fez as regras, cada
vez que todos só podem substituir esta carta por uma determinada carta de seu fator. Mas o fator não pode ser 1 ou o próprio inteiro. Agora dado o inteiro n. Duas pessoas começam a jogar
, se o primeiro jogador pode vencer no estado de estratégia ideal.

int solution(long int n){
    
    
int result;
// TODO:
long long cnt = 0;
for(long long i=2;i*i<=n;i++){
    
    
if(n%i==0){
    
    
while(n%i==0){
    
    
n/=i;
cnt++;
}
}
}
if(n>1) cnt++;
if(cnt==0) return 1;
if(cnt==2) return 2;
return 1;
}

2. Nome do tópico: Plano de poupança de Jinjin

A mesada de Jinjin sempre foi administrada por ele mesmo. No início de cada mês, minha mãe dá a Jinjin 300 yuans, e Jinjin fará o orçamento das despesas deste mês, e as despesas reais sempre serão as mesmas
do orçamento. Para que Jinjin aprendesse a economizar, sua mãe propôs que Jinjin pudesse depositar todos os cem dólares com ela a qualquer momento, e ela acrescentaria 20% a Jinjin no final do ano
. Portanto, Jinjin fez um plano de poupança: no início de cada mês, após receber a mesada de sua mãe, se ela espera ter mais de 100 yuans
ou exatamente 100 yuans até o final do mês, ela colocará todos os cem A maior parte do dinheiro está depositada com minha mãe e o restante está em minhas próprias mãos. Por exemplo, no início de novembro, Jinjin ainda tinha
83 yuans em suas mãos e sua mãe deu a Jinjin 300 yuans. Jinjin espera gastar 180 yuans em novembro, então ela economizará 200 yuans com sua mãe e manterá 183 yuans para si mesma.
Até o final de novembro, Jinjin terá 3 yuans restantes em suas mãos. Jinjin descobriu que o principal risco desse plano de poupança é que o dinheiro depositado com sua mãe não pode ser sacado antes do final do ano
. É possível que no início de um determinado mês, o dinheiro nas mãos de Jinjin mais o dinheiro dado por sua mãe neste mês não sejam suficientes para o orçamento original deste mês. Se isso acontecer, Jinjin terá
que economizar dinheiro e espremer o orçamento este mês. Agora, por favor, julgue se isso acontecerá com base no orçamento mensal de Jinjin de janeiro a dezembro de 2004.
Se não, calcule quanto dinheiro Jinjin terá em mãos até o final de 2004, depois que sua mãe devolver o dinheiro que Jinjin costuma economizar mais 20% para Jinjin.

int i,bu,su=0,o=0;
double de=0;
for(int i=1;i<13;i++){
    
    
scanf("%d",&bu);
su=su+300-bu;
if(su>0&&su<100) continue;
if(su>=100){
    
    
o=1;
de+=su/100;
su%=100;
continue;
}
if(su<0){
    
    
o=0;
printf("-%d",i);
break;
}
}
if(o==1){
    
    
printf("%.0lf",de*120+su);
}

3. Nome do tópico: A maior soma de subarray de uma matriz unidimensional

cin>>n;
int st=0,ed=0;
ll mx = -1e15;
ll s = 0;
int start=0;
for(int i=0;i<n;i++){
    
    
cin>>a[i];
}
for(int i=0;i<n;i++){
    
    
s+=a[i];
if(s>mx){
    
    
mx=s;
st=start;
ed=i;
if(s<0){
    
    
s=0;
start=i+1;
}
}
printf("%d %d\n",st,ed);

4. Nome do tópico: teclado inexplicável

Existe um teclado mágico, você pode usá-lo para inserir caracteres de a a z, no entanto, sempre que você inserir uma letra vogal (uma de a, e, i, o, u), a
string inserida será Por exemplo, se tw for inserido no momento e um o for inserido neste momento, a string dois na tela será invertida para owt. Dada uma
cadeia de caracteres, de quantas maneiras ela pode ser obtida usando este teclado para inseri-la?

bool ck(char ch){
    
    
return ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u';
}
int dfs(string s){
    
    
if((int)s.size()==1) return 1;
int t = 0;
if(ck(s[0])){
    
    
string tmp = s.substr(1);
reverse(tmp.begin(),tmp.end());
t+=dfs(tmp);
}
if(!ck(s.back())){
    
    
t+=dfs(s.substr(0,(int)s.size()-1));
}
return t;
}
int main(){
    
    
string s;cin>>s;
cout<<dfs(s);
}

Supongo que te gusta

Origin blog.csdn.net/weixin_45750972/article/details/131004930
Recomendado
Clasificación