• 面试


    牛牛有一个鱼缸。鱼缸里面已经有n条鱼,每条鱼的大小为fishSize[i] (1 ≤ i ≤ n,均为正整数),牛牛现在想把新捕捉的鱼放入鱼缸。鱼缸内存在着大鱼吃小鱼的定律。经过观察,牛牛发现一条鱼A的大小为另外一条鱼B大小的2倍到10倍(包括2倍大小和10倍大小),鱼A会吃掉鱼B。考虑到这个,牛牛要放入的鱼就需要保证:
    1、放进去的鱼是安全的,不会被其他鱼吃掉
    2、这条鱼放进去也不能吃掉其他鱼
    鱼缸里面已经存在的鱼已经相处了很久,不考虑他们互相捕食。现在知道新放入鱼的大小范围[minSize,maxSize](考虑鱼的大小都是整数表示),牛牛想知道有多少种大小的鱼可以放入这个鱼缸。 
    输入描述:
    输入数据包括3行.
    第一行为新放入鱼的尺寸范围minSize,maxSize(1 ≤ minSize,maxSize ≤ 1000),以空格分隔。
    
    第二行为鱼缸里面已经有鱼的数量n(1 ≤ n ≤ 50)
    
    第三行为已经有的鱼的大小fishSize[i](1 ≤ fishSize[i] ≤ 1000),以空格分隔。
    
    
    
    #include<iostream>
    #include<cmath>
    using namespace std;
     
    int main(){
        int minSize, maxSize, n, fishsize, count = 0;
        int size[1001] = { 0 };
        cin >> minSize >> maxSize >> n;
        for (int i = 1; i <= n; i++){
            cin >> fishsize;
            for (int j = 2 * fishsize; j <= maxSize && j <= 10 * fishsize; j++)
                size[j] = 1;
            for (int j = fishsize / 2; j >= minSize && j >= ceil(fishsize / 10.0); j--)
                size[j] = 1;
        }
        for (int i = minSize; i <= maxSize; i++)
            if (size[i] == 0)
                count++;
        cout << count;
        return 0;
    }
    
    
    
    
    如果一个单词通过循环右移获得的单词,我们称这些单词都为一种循环单词。 例如:picture 和 turepic 就是属于同一种循环单词。 现在给出n个单词,需要统计这个n个单词中有多少种循环单词。
    
    
    
    #include <string>
    #include <iostream>
    #include <vector>
    using namespace std;
    int main()
    {
    int n,num=0;
    vector<string> twords;
    vector<bool> checks;//判断是否已属于某种循环单词
    cin>>n;
    for (int i = 0; i < n; i++)
    {
    string t_w;
    cin >> t_w;
    twords.push_back(t_w);
    checks.push_back(false);
    }
    for (int j = 0; j < n; j++)
    {
    if (!checks[j]){
    string tt;
    tt = twords[j] + twords[j];
    for (int k = j + 1; k < n; k++)
    {
    if (!checks[k]){
    if (tt.find(twords[k]) != string::npos&&twords[k].length() == twords[j].length()){ checks[k] = true; }
    }
    }
    num++;
    }
    }
    cout << num << endl;
    
    return 0;
    }
    
    
    
    牛牛的好朋友羊羊在纸上写了n+1个整数,羊羊接着抹除掉了一个整数,给牛牛猜他抹除掉的数字是什么。牛牛知道羊羊写的整数神排序之后是一串连续的正整数,牛牛现在要猜出所有可能是抹除掉的整数。例如:
    10 7 12 8 11 那么抹除掉的整数只可能是9
    5 6 7 8 那么抹除掉的整数可能是4也可能是9
    
    两个相同的数异或为0,0和数a异或为a,将输入数组和min到max的数异或,如果缺失的数在min-max之间,则异或结果就是所求值,如果异或结果为0,则缺失的数为min-1或max+1,如果异或结果小于min或者大于max说明这个数组缺失不止一个数(可以用反证法)故输出mistake。
    
    
    #include<iostream>
    using namespace std;
    int main() {
        int n;
        cin>>n;
        int min = 1000000001;
        int max = 0;
        int res = 0;
        int num = 0;
        for(int i = 0; i < n; i++) {
            cin>>num;
            if(num < min) min = num;
            if(num > max) max = num;
            res ^= num;
        }
        for(int i = min; i <= max; i++) {
            res ^= i;
        }
        if(res == 0) {
            if(min - 1> 0)
                cout<<min-1<<" "<<max+1;
            else cout<<max+1;
        }
        else if(res <= min || res >= max) {
            cout<<"mistake"<<endl;
        }
        else cout<<res;
    }
  • 相关阅读:
    ADB高级应用
    struts2 结合extjs实现的一个登录实例
    css3中关于伪类的使用
    漫谈并发编程(三):共享受限资源
    awk依照多个分隔符进行切割
    3星|《财经天下周刊》2017年21期:海外购几乎是亚马逊中国的最后一根救命稻草
    3星|《迷失的盛宴:中国保险产业1978-2014》:序言比正文精彩
    3星|《超级运营术》:互联网社区运营老手经验谈
    3星|《百年流水线》:流水线与工业、社会、艺术的交互史
    5星|戴蒙德《为什么有的国家富裕,有的国家贫穷》:为什么有的国家能发展出好制度
  • 原文地址:https://www.cnblogs.com/Czc963239044/p/7132220.html
Copyright © 2020-2023  润新知