字节跳动 秋招第一批

第一题 AC 80
#include<bits/stdc++.h>

using namespace std;

int main()
{
    int N,hi,mi,x,goclass;
    int res = 0;
    cin >> N;
    int getup[N];
    for(int i = 0; i < N; ++i)
    {
        cin >> hi >> mi;
        getup[i] = hi*60 + mi;
    }
    cin >> x >> hi >> mi;
    goclass = hi * 60 + mi;
    for(int i = 0; i < N; ++i)
    {
        if(getup[i] + x <= goclass && getup[i] > res)
            res = getup[i];
    }
    cout << res/60 << " " << res % 60 << endl;
    return 0;
}
第二题 AC 84
#include<bits/stdc++.h>
using namespace std;

int main() {
    int N,K;
    cin >> N >> K;
    vector<int>a;
    string str;
    cin >> str;
    for(int i=0;i<str.size();i++)
    {
     a.push_back(str[i]-'0');
    }
    vector<int>res(N,0);
    res[0] = a[0];
    int z;
    for(int i=1;i<N;i++)
    {
     if(i < K){
   z = 0;
      for(int j=0;j<i;j++)
      {
       
       z ^= res[j];
      }
      res[i] = a[i] ^ z;
     }
     else
     {
      z = 0;
      for(int j=i-1;j>=i-K+1;j--)
      {
       z ^= res[j];
      }
      res[i] = a[i] ^ z;
     }
    }
    for(int i=0;i<N;i++) cout << res[i];
    return 0;
}
第三题 AC 100
#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
#include <math.h>
#include <string>
#include <queue>
#include <stdlib.h>
#include <stdio.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    int sum = 0;
    vector<int>a;
    vector<int>m;
    while(n--)
    {
     int b;
     cin >> b;
     a.push_back(b);
    }
    for(int i=0;i<a.size();i++)
    {
     if(i == 0) m.push_back(100);
     else
     {
      if(a[i] > a[i-1]) m.push_back(m[i-1] + 100);
      else m.push_back(100);
     }
    }
    for(int i=a.size()-2;i>=0;i--)
    {
     if(a[i] > a[i+1]) m[i] = max(m[i], m[i+1]+100);
    }
    for(int i=0;i<m.size();i++)
    {
     sum += m[i];
    }
    cout << sum << endl;
}
第四题 图结构刚写完……还没来及


#字节跳动##笔试题目#
全部评论
第三题进来的时间相等的不应该是给的是一样的嘛?为什么只给100?
点赞 回复
分享
发布于 2019-08-11 21:11
太厉害了哦~
点赞 回复
分享
发布于 2019-08-11 21:15
联想
校招火热招聘中
官网直投
//第二题以空间换时间就可以过100% #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; int main() {     int n,k;     cin>>n>>k;     string str;     cin>>str;     vector<int>data(n);     data[0]=str[0]-'0';     vector<int>temp(n);     fill(temp.begin(),temp.end(),data[0]);     for(int i=1;i<n;++i)     {         int var;         if(i<k) var=temp[i-1];         else var=temp[i-1]^temp[i-k];         data[i]=1;         if((var^data[i])==str[i]-'0'){             temp[i]=temp[i-1]^data[i];         }         else{             data[i]=0;             temp[i]=temp[i-1]^data[i];         }     }     string res="";     for(int i=0;i<n;++i)         res+=(data[i]+'0');     cout<<res<<endl;     return 0; }
点赞 回复
分享
发布于 2019-08-11 21:20
第一题为啥只ac80%
点赞 回复
分享
发布于 2019-08-11 21:11
第二题用dp调了40分钟没过
点赞 回复
分享
发布于 2019-08-11 21:30

相关推荐

1 5 评论
分享
牛客网
牛客企业服务