#include
using namespace std;
int main()
{
int n;
cin>>n;
int x,y;
for(int i=0;i<n;i++)
cin>>x>>y;
double ans=1.0*n;
printf("%.12lf",1.0/ans);
return 0;
}
#include
using namespace std;
char s[10];
int main()
{
int n;
cin>>n;
int ans=0;
for(int i=0;i<n;i++)
{
getchar();
cin.getline(s,7);
// cout<
for(int j=0;j<6;j++)
if(s[j]=='-')
ans++;
}
cout<<ans;
return 0;
}
#include
using namespace std;
const int N=200005;
int a[N];
int main()
{
int n;
cin>>n;
long long ans=0;
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n-1;i++)
{
ans+=max(a[i],a[i+1]);
}
cout<<ans<<endl;
return 0;
}
#include
using namespace std;
int a[10];
int main()
{
int n,m,x,y;
cin>>n>>x>>y;
int fl=1,fr=1;
for(int i=1;i<=n;i++)
cin>>a[i];
cin>>m;
for(int i=1;i<=m;i++)
{
int k;
cin>>k;
if(a[x+i]==k&&a[x-i]!=k)
{
fr=0;//往右边走
break;
}
else if(a[x-i]==k&&a[x+i]!=k)
{
fl=0;
break;
}
else if(a[x-i]!=k&&a[x+i]!=k)
{
fl=1;
fr=1;
break;
}
}
if(y<x)
{
if(fl==0&&fr!=0)
cout<<"Right"<<endl;
else if(fl!=0&&fr==0)
cout<<"Wrong"<<endl;
else cout<<"Unsure"<<endl;
}
if(y>x)
{
if(fl==0&&fr!=0)
cout<<"Wrong"<<endl;
else if(fl!=0&&fr==0)
cout<<"Right"<<endl;
else cout<<"Unsure"<<endl;
}
return 0;
}
#include
using namespace std;
int n,m;
int a[60][60];
int q;
int xi,yi;
int f=1,v;
int main(){
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++){
getchar();
for(int j=1;j<=m;j++){
char x;
scanf("%c",&x);
if(x=='.')a[i][j]=0;
else if(x=='*'){
a[i][j]=0;
xi=i;yi=j;
}
else if(x=='#')a[i][j]=1;
}
}
scanf("%d",&q);
getchar();
for(int i=1;i<=q;i++){
char x;
scanf("%c",&x);
if(x=='L')f=f%8+1;
else if(x=='R'){
if(f==1)f=8;
else f--;
}
else if(x=='U')v++;
else if(x=='D')v=max(v-1,0);
bool flag=false;
int j;
if(f==1){
for(j=1;j<=v;j++){
int x=xi-1,y=yi;
if(x<1){
v=0;
flag=true;
break;
}
if(a[x][y]==1){
v=0;
flag=true;
break;
}
xi=x;yi=y;
}
}
else if(f==3){
for(j=1;j<=v;j++){
int x=xi,y=yi-1;
if(y<1){
v=0;
flag=true;
break;
}
if(a[x][y]==1){
v=0;
flag=true;
break;
}
xi=x;yi=y;
}
}
else if(f==5){
for(j=1;j<=v;j++){
int x=xi+1,y=yi;
if(x>n){
v=0;
flag=true;
break;
}
if(a[x][y]==1){
v=0;
flag=true;
break;
}
xi=x;yi=y;
}
}
else if(f==7){
for(j=1;j<=v;j++){
int x=xi,y=yi+1;
if(y>m){
v=0;
flag=true;
break;
}
if(a[x][y]==1){
v=0;
flag=true;
break;
}
xi=x;yi=y;
}
}
else if(f==2){
for(j=1;j<=v;j++){
int x=xi-1,y=yi-1;
if(x<1||y<1){
v=0;
flag=true;
break;
}
if(a[x][y]==1){
v=0;
flag=true;
break;
}
else if(xi-1>=1&&yi-1>=1){
if(a[xi-1][yi]==1&&a[xi][yi-1]==1){
v=0;
flag=true;
break;
}
}
xi=x;yi=y;
}
}
else if(f==4){
for(j=1;j<=v;j++){
int x=xi+1,y=yi-1;
if(x>n||y<1){
v=0;
flag=true;
break;
}
if(a[x][y]==1){
v=0;
flag=true;
break;
}
else if(xi+1<=n&&yi-1>=1){
if(a[xi+1][yi]==1&&a[xi][yi-1]==1){
v=0;
flag=true;
break;
}
}
xi=x;yi=y;
}
}
else if(f==6){
for(j=1;j<=v;j++){
int x=xi+1,y=yi+1;
if(x>n||y>m){
v=0;
flag=true;
break;
}
if(a[x][y]==1){
v=0;
flag=true;
break;
}
else if(xi+1<=n&&yi+1<=m){
if(a[xi+1][yi]==1&&a[xi][yi+1]==1){
v=0;
flag=true;
break;
}
}
xi=x;yi=y;
}
}
else if(f==8){
for(j=1;j<=v;j++){
int x=xi-1,y=yi+1;
if(x<1||y>m){
v=0;
flag=true;
break;
}
if(a[x][y]==1){
v=0;
flag=true;
break;
}
else if(xi-1>=1&&yi+1<=m){
if(a[xi-1][yi]==1&&a[xi][yi+1]==1){
v=0;
flag=true;
break;
}
}
xi=x;yi=y;
}
}
if(flag)printf("Crash! %d %d\n",xi,yi);
else printf("%d %d\n",xi,yi);
}
return 0;
}
任意门
较有难度一点题就是C题,由于自己不是负责dp这方面,所以还没有开始学,等自己学了dp,再来补这一题!