拼多多 2021客户端研发实习生 编程题 300/300
舒服了(我这套试卷名字是2021届-客户端研发实习生笔试2,所以肯定还有一个1)
第一道:模拟+排序(其实只需要一句sort(a+1,a+n+1);)
第一次交45%
改了半天死活改不出来,然后把输出结果从int改成long long就变成55%
然后又改了个long long,变成90%
然后又改不出来了
最后实在没得可改,在一个等于号后面加了个 (long long) 的强制类型转换就ac了
第二道:搜索
dfs 随便剪剪枝 90% 记得多加判断条件
我加了快10个return,虽然很很很不美观,但是能过就行
第三道:数学
这斐波那契数列就nm离谱,今天第一次知道还有这么个性质。
总之就是4个数一循环,列个表看看会非常地清晰。
直接a%=3;b%=3;n%=4; 然后基本就出来了
四点还有阿里的笔试,先溜了,五点回来再接着写。
阿里笔试炸了哈哈哈哈,这就是人品守恒定律吗,爱了爱了
(总共就两道题,第一道题dp 70%改不出来,第二道题打到最后十分钟发现题干看错了,然后直接爆0)
接着说拼多多这套题
第一道我看到有人说ai范围小于1e9,yysy确实,这也是我奇怪的地方,但是改成long long就从55%变成90%了
第三道的代码我贴在下面了,题目的话就是输入Fibonacci数列的f[0]和f[1],再输入一个n,判断f[n]能不能被3整除
有问题多讨论
#include<iostream> using namespace std; int main(){ int t,a,b,n; cin>>t; while(t--){ cin>>a>>b>>n; a=a%3;b=b%3;n=n%4; if(a==b){ if(a==0){cout<<"YES\n";continue;} if(n==3){cout<<"YES\n";continue;} else{cout<<"NO\n";continue;} } if(a==0){ if(n==0){cout<<"YES\n";continue;} else{cout<<"NO\n";continue;} } if(b==0){ if(n==1){cout<<"YES\n";continue;} else{cout<<"NO\n";continue;} } //a1b2||a2b1 if(n==2) cout<<"YES\n"; else cout<<"NO\n"; } }