您的位置:首页 > 其它

2018.01.26【NOIP普及组】模拟赛D组

2018-01-26 20:01 453 查看

JZOJ NO.1 【普及组模拟赛】手机

代码如下

#include <cstdio>
#include <cstring>
using namespace std;
char s; int ans; short f[27];
int main(){
for (int i=1;i<=18;i++) f[i]=(i%3); f[19]=4;
for (int i=1;i<=18;i++) if (!f[i]) f[i]=3;
for (int i=20;i<=25;i++) f[i]=((i-1)%3); f[26]=4;
for (int i=20;i<=25;i++) if (!f[i]) f[i]=3;
freopen("mobile.in","r",stdin);
freopen("mobile.out","w",stdout);
while ((s=getchar())!='\n'){
if (s==32) ans++;
else if (s>96&&s<123) ans+=f[s-96];
}
printf("%d",ans);
return 0;
}


JZOJ NO.2 【普及组模拟赛】游戏

思路:找规律可以发现3的倍数k赢,否则mld赢。

代码如下

#include <cstdio>
#include <cstring>
#include <cctype>
using namespace std;
char s; int g;
int main(){
freopen("atlantis.in","r",stdin);
freopen("atlantis.out","w",stdout);
for (int k=1;k<=3;k++){
g=0; s=getchar();
while (!isdigit(s)) s=getchar();
while (isdigit(s)) g=(g+s-48)%3,s=getchar();
if (!(g%3)) printf("King will win.\n");
else printf("MaoLaoDa will win.\n%d\n",(g%3));
}
return 0;
}


JZOJ NO.3 家族

dfs求有多少个岛屿。

代码如下

#include <cctype>
#include <iostream>
#include <cstdio>
using namespace std;
bool g[103][203];
int n,ans=0; string s;
void dfs(int x,int y){
g[x][y]=0;
if (g[x-1][y]) dfs(x-1,y);
if (g[x][y-1]) dfs(x,y-1);
if (g[x][y+1]) dfs(x,y+1);
if (g[x+1][y]) dfs(x+1,y);
}
int main(){
freopen("family.in","r",stdin);
freopen("family.out","w",stdout);
scanf("%d",&n);
for (int i=0;i<=n;i++){
getline(cin,s);
for (int j=1;j<=s.size();j++) if (islower(s[j-1])) g[i][j]=1; s="";
}
for (int i=1;i<=n;i++)
for (int j=1;j<=200;j++)
if (g[i][j]) ans++,dfs(i,j);
cout<<ans;
return 0;
}


JZOJ NO.4 【普及组模拟赛】作业

f[j]=max(f[j],f[j-w[i]]+c[i])

代码如下

#include <cstdio>
#include <algorithm>
using namespace std;
int m,n,t[501],w[501],f[100001],ans;
int main(){
freopen("homework.in","r",stdin);
freopen("homework.out","w",stdout);
scanf("%d%d",&m,&n);
for (int i=1;i<=n;i++) scanf("%d%d",&t[i],&w[i]),ans+=w[i];
for (int i=1;i<=n;i++)
for (int j=m;j>=t[i];j--)
f[j]=max(f[j],f[j-t[i]]+w[i]);
printf("%d",ans-f[m]);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: