zoukankan      html  css  js  c++  java
  • 杭电oj平台上的11页题目代码:acm编程题:hdu1021 ,hdu1022,hdu1023

    //1021
    //思路:求出各个fn,再挨个判断其是否能被3整除.
    #include<iostream>
    using namespace std;
    #define N 1000000
    int f[N];
    int main()
    {
    int n;
    int i;
    f[0] = 1;//%3的结果
    f[1] = 2;//也是%3的结果
    //注意:如果不直接先%3的话,提交以后就会wrong answer
    for ( i = 2; i < N; i++)
    {
    f[i] = (f[i - 1] + f[i - 2])%3;
    }
    while (cin>>n)
    {
    if (f[n]==0)
    {
    cout << "yes" << endl;
    }
    else
    {
    cout << "no" << endl;
    }
    }
    return 0;
    }


    //1022
    /*思路:类似进栈出栈.题目的意思就是共有n个数,前一个序列是s1,后一个序列是s2,
    按照s1的顺序进栈(但是不一定是一次性进栈),看其出栈是否能够得到s2的顺序。
    具体操作的步骤:将s1的字符一个个进栈,每进去一个,则相应的f的某个元素置为1,代表是进栈操作,然后比较此时的栈顶和s2的当前元素是否相等,如果相等,则将f的对应的元素置为0,代表出栈操作,则继续操作,j++,如果到最后j和n相等,则说明yes;如果不相等则继续前面的操作,直到i到n-1,
    要想得到和s2的顺序,则出栈之前要和s2当前的元素(就是还没有比较过的元素)比较,
    如果相等则出栈,如果不相等则继续寻找,一直到栈空。

    */
    #include<stack>
    #include<iostream>
    using namespace std;
    int main()
    {
    char s1[100], s2[100];
    int n;
    int i;
    int k;
    int j;
    stack<char>s;
    int f[100];//用来记录进出栈,若是1,则代表进栈操作,若是0,则代表出栈操作
    while (cin>>n>>s1>>s2)
    {
    while (!s.empty())//开始操作之前要先清空栈
    {
    s.pop();
    }
    memset(f, -1, sizeof(f));
    k = 0;
    j = 0;
    for ( i = 0; i < n; i++)
    {
    s.push(s1[i]);
    f[k++] = 1;
    while (!s.empty()&&s.top()==s2[j])
    {
    f[k++] = 0;
    s.pop();
    j++;
    }
    }
    if (j==n)
    {
    cout << "Yes." << endl;
    for ( i = 0; i < k; i++)
    {
    if (f[i])
    {
    cout << "in" << endl;
    }
    else
    {
    cout << "out" << endl;
    }
    }
    }
    else
    {
    cout << "No." << endl;
    }
    cout << "FINISH" << endl;
    }

    return 0;
    }

    //1023,卡特兰数的函数(c++),参考百度百科

    一生有所追!
  • 相关阅读:
    为什么LIKELY和UNLIKELY要用两个叹号
    vuex-persist数据持久化存储插件
    【ejabberd】安装XMPP服务器ejabberd(Ubuntu 12.04)
    Dynamics CRM2013 picklist下拉项行数控制
    jdk1.8新日期时间类(DateTime、LocalDateTime)demo代码
    webpack插件解析:HtmlWebpackPlugin是干什么的以及如何使用它
    marked实现
    Vue组件使用、父子组件传值
    VUE启动报错
    nodejs创建vue项目
  • 原文地址:https://www.cnblogs.com/BlueBlue-Sky/p/8531083.html
Copyright © 2011-2022 走看看