AtCoder Beginner Contest 189

简介: A - Slot

A - Slot


题意:判断c1,c2,c3三个字母是不是相同。


#include<bits/stdc++.h>
using namespace std;
int main()
{
  char c1,c2,c3;
  cin>>c1>>c2>>c3;
  if(c1==c2&&c2==c3){
    cout<<"Won";
  }
  else 
    cout<<"Lost"<<endl;
}


B - Alcoholic


题意:给你n种酒,并且告诉你每种酒的体积和酒精度数(就是体积百分比)


思路:注意精度问题,把/100变成乘法就好~具体看代码.


#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+100;
double  v[maxn];
int main()
{
  int i,j,n;
  double x,sum=0,ff=0,ans=0,p;
  cin>>n>>x;
  for(i=0;i<n;i++){
    cin>>v[i]>>p;
    sum+=(v[i]*p);
    if(x*100<sum&&ff==0){
      ff=1;ans=i+1;
    }
  }
  if(ff==1) cout<<ans<<endl;
  else  cout<<-1<<endl;
}


C - Mandarin Orange


题意:给你一个长度为n的数组,寻找一段区间【L,R】,使得区间中的最小值x,使x*(r-l+1)最大。


思路:看数据n只有1e4,所以暴力是能过的,O(n^2)哎气气!


#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+100;
int a[maxn];
int main()
{
  int n,i,j,l,r;
  cin>>n;
  for(i=1;i<=n;i++){
    cin>>a[i];
  }
  int ans=-INT_MAX;
  for(i=1;i<=n;i++){
    int mm=INT_MAX;
    for(j=i;j<=n;j++){
      mm=min(mm,a[j]);
      ans=max(mm*(j-i+1),ans);
    }
  }
  cout<<ans<<endl;
}


D - Logical Expression


题意: 大概就是让你从n个全排列的二进制数中,通过n-1个操作序列,操作有两种一种是或,一种是与,求最后有多少种答案是为真。

思路:如果第i个字符串为and,则对于Ti=Ti-1,Fi=Fi-12+Ti;

如果是or,则Fi=Fi-1,Ti=Ti-12+Fi;

#include<bits/stdc++.h>
#define int long long 
using namespace std;
signed main(){
  string ss[77];
  int n,i,j;
  cin>>n;
  int ff=1,tt=1;
  string s1="AND";
  getchar();
  int f1=0;
  for(i=0;i<n;i++){
    getline(cin,ss[i]);
    if(f1==0){
      if(ss[i]==s1)
        ff=3,tt=1,f1=1;
      else 
        ff=1,tt=3,f1=1;
    }
    else if(ss[i]==s1){
      ff=ff*2+tt;
    }
    else {
      tt=tt*2+ff;
    }
  }
  cout<<tt<<endl;
}
相关文章
|
算法
AtCoder Beginner Contest 213 E - Stronger Takahashi(01BFS)
AtCoder Beginner Contest 213 E - Stronger Takahashi(01BFS)
135 0
|
机器学习/深度学习 人工智能 Java
AtCoder Beginner Contest 215 D - Coprime 2 (质因子分解 gcd)
AtCoder Beginner Contest 215 D - Coprime 2 (质因子分解 gcd)
105 0
|
人工智能
atcoder AtCoder Beginner Contest 210 D - National Railway(dp)
atcoder AtCoder Beginner Contest 210 D - National Railway(dp)
114 0
AtCoder Beginner Contest 133 E - Virus Tree 2(组合数学)
AtCoder Beginner Contest 133 E - Virus Tree 2(组合数学)
104 0
|
机器学习/深度学习
AtCoder Beginner Contest 215 E - Chain Contestant (状压dp)
AtCoder Beginner Contest 215 E - Chain Contestant (状压dp)
120 0
|
机器学习/深度学习
AtCoder Beginner Contest 218 C - Shapes (模拟)
AtCoder Beginner Contest 218 C - Shapes (模拟)
144 0
|
定位技术
German collegiate programming contest 2012 - Ski Jumping
首先用动能定理算出平抛的初速度v0,然后分三种情况,0~L/2,L/2~L,L~无穷远。
135 0
German collegiate programming contest 2012 - Ski Jumping