一.素数回文
https://www.nowcoder.com/practice/d638855898fb4d22bc0ae9314fed956f?tpId=290&tqId=39945&ru=/exam/oj



#include <iostream>
#include <algorithm>
using namespace std;
void check(long long ans)
{
if(ans < 2)
{
cout << "noprime" << endl;
return;
}
for(long long i = 2;i <= ans / i;i++)
{
if(ans % i == 0)
{
cout << "noprime" << endl;
return;
}
}
cout << "prime" << endl;
}
int main() {
string s;
cin >> s;
string ss = s;
reverse(s.begin(),s.end());
ss += string(s.begin() + 1,s.end());
long long ans = atol(ss.c_str());
check(ans);
return 0;
}
二.活动安排
https://www.nowcoder.com/practice/16d971e9e42e4f3b9b1e2b8794796a43?tpId=308&tqId=40488&ru=/exam/oj


#include <iostream>
#include <algorithm>
using namespace std;
const int N = 2e5 + 10;
struct node
{
int begin,end;
}a[N];
bool cmp(const node& x,const node& y)
{
if(x.end != y.end)
{
return x.end < y.end;
}
return x.begin < y.begin;
}
int main() {
int n;
cin >> n;
for(int i = 0;i < n;i++)
{
cin >> a[i].begin >> a[i].end;
}
sort(a,a + n,cmp);
int sum = 1;
int end = a[0].end;
for(int i = 1;i < n;i++)
{
if(a[i].begin >= end)
{
end = a[i].end;
sum++;
}
}
cout << sum << endl;
return 0;
}
三.合唱团
https://www.nowcoder.com/practice/661c49118ca241909add3a11c96408c8?tpId=122&tqId=33652&ru=/exam/oj


#include <iostream>
using namespace std;
typedef long long LL;
const int N = 55,M = 15;
LL a[N];
int k,d;
LL INF = 0x3f3f3f3f3f3f3f;
LL f[N][M],g[N][M];
int main() {
int n;
cin >> n;
for(int i = 1;i <= n;i++)
{
cin >> a[i];
}
cin >> k >> d;
for(int i = 1;i <= n;i++)
{
g[i][1] = f[i][1] = a[i];
for(int j = 2;j <= min(i,k);j++)
{
f[i][j] = -INF;
g[i][j] = INF;
for(int prev = max(i - d,j - 1);prev <= i - 1;prev++)
{
f[i][j] = max(max(f[prev][j - 1] * a[i],g[prev][j - 1] * a[i]),f[i][j]);
g[i][j] = min(min(f[prev][j - 1] * a[i],g[prev][j - 1] * a[i]),g[i][j]);
}
}
}
LL ret = -INF;
for(int i = k;i <= n;i++)
{
ret = max(ret,f[i][k]);
}
cout << ret << endl;
return 0;
}
980

被折叠的 条评论
为什么被折叠?



