自测题的整理(持续更新)
LITTLESUN昨天找了點(diǎn)模擬和排序的小水怪來(lái)了一波惡戰(zhàn),下面進(jìn)入戰(zhàn)況回播!
小怪一 鏈接:https://www.luogu.org/problemnew/show/P1426
姓名:洛谷P1426 小魚(yú)會(huì)有危險(xiǎn)嗎??
等級(jí):入門(mén)難度(模擬)
這道題的第二個(gè)測(cè)試點(diǎn)容易出現(xiàn)問(wèn)題,我們很容易忽略掉如果一開(kāi)始就在獵人范圍內(nèi)的情況。所以在最開(kāi)始要對(duì)初始狀態(tài)進(jìn)行分類(lèi)討論。在進(jìn)入范圍后的判斷要記得使用*0.98的數(shù)值。并且要記得減去范圍內(nèi)已經(jīng)走過(guò)的范圍。
AC代碼如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
double s,x;
scanf("%lf%lf",&s,&x);
double a=7;
if(x>=s)
{
if(2*x>7)
{
printf("y");
return 0;
}
else
{
printf("n");
return 0;
}
}
else
{
double total=0;
while(a>0)
{
total=total+a;
a=a*0.98;
if(total>=(s-x))
{
if(2*x>(total-s+x+a))
{
printf("y");
return 0;
}
else
{
printf("n");
return 0;
}
}
}
return 0;
}
小怪二 鏈接:https://www.luogu.org/problemnew/show/P1014
姓名:洛谷P1014 Cantor表
等級(jí):普及
AC代碼如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define MAXN 000
using namespace std;
int A[MAXN][MAXN];
int main()
{
int N;
scanf("%d",&N);
/*for(int i=1;i<=N;i++)
{
for(int j=1;j<=N;j++)
{
A[i][j]=i/j;
}
}
printf("%d",A[4][1]);*/
int total=0;
int p,x,y;
for(int i=1;i<=N;i++)
{
total=total+i;
if(total>=N)
{
total=total-i;
p=N-total;
if(i%2==0)
{
x=1+(p-1);
y=i-(p-1);
}
else
{
y=1+(p-1);
x=i-(p-1);
}
printf("%d/%d",x,y);
return 0;
}
}
return 0;
}
?
?
小怪三? 鏈接:https://www.luogu.org/problemnew/show/P1071
姓名:洛谷P1071 潛伏者
等級(jí):NOIP 2009 提高組 第一題
這個(gè)題LITTLESUN本來(lái)是90然后一直過(guò)不去,后來(lái)在測(cè)試點(diǎn)的數(shù)據(jù)里發(fā)現(xiàn)了一個(gè)大坑,我們不僅要注意不能多對(duì)一還要考慮到一對(duì)多的情況。我在原代碼的基礎(chǔ)上加了一個(gè)map進(jìn)行標(biāo)記,但我覺(jué)得可能麻煩了,回來(lái)有新的想法再補(bǔ)上呢
AC代碼如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<map>
#define MAXN 2000
using namespace std;
char A[MAXN];
char B[MAXN];
int C[MAXN];
char D[MAXN];
char E[MAXN]={'*','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
map<char,bool>m;
int main()
{
scanf("%s",A);
scanf("%s",B);
scanf("%s",D);
for(int i=0;i<100;i++)
{
C[i]=666;
}
for(int i=0;i<strlen(A);i++)
{
if(C[A[i]-'A'+1]==666||C[A[i]-'A'+1]==(B[i]-'A'+1)-(A[i]-'A'+1))
{
C[A[i]-'A'+1]=(B[i]-'A'+1)-(A[i]-'A'+1);
}
else
{
printf("Failed");
return 0;
}
}
int cnt=0;
for(int i=1;i<=26;i++)
{
if(C[i]!=666)cnt++;
else continue;
}
if(cnt==26)
{
for(int i=1;i<=26;i++)
{
E[i]=E[i]+C[E[i]-'A'+1];
if(!m[E[i]]) m[E[i]]=true;
else
{
printf("Failed");
return 0;
}
}
for(int i=0;i<strlen(D);i++)
{
D[i]=D[i]+C[D[i]-'A'+1];
}
}
else
{
printf("Failed");
return 0;
}
//printf("%d",C[6]);
for(int i=0;i<strlen(D);i++)
{
printf("%c",D[i]);
}
return 0;
}
轉(zhuǎn)載于:https://www.cnblogs.com/LITTLESUNwl/p/10493643.html
總結(jié)
以上是生活随笔為你收集整理的自测题的整理(持续更新)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 持续演进,克服“REST缺乏”
- 下一篇: 开源工作流程引擎ccflow多人待办处理