UCF Local Programming Contest 2012(Practice)


B和H是两个水题C题是个模拟题,按照题目意思模拟就可以,只不过需要注意输出格式(指数行和底数行不能同时出现数字),G题也是个模拟题,题意是给出一个字符串,问能不能由上面那两个替换公式经过有限次替换得到,类似模拟括号匹配中栈的操作,不同的是不能出现紧挨的‘ab‘(可以是‘ba‘)。

//H
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;

int main()
{

    int n;
    cin >> n;
    int i=1;
    ll a[5];
    for(int i=1;i<=n;i++)
    {
        for(int j=0;j<3;j++)
        {
            cin >> a[j];
        }

      printf("Data set #%d:\n",i);
      printf("   Original order: %lld %lld %lld\n",a[0],a[1],a[2]);
      sort(a,a+3);
      printf("   Smallest to largest: %lld %lld %lld\n",a[0],a[1],a[2]);
      printf("\n");
    }
    return 0;
}

//B
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

string s[3];
int main()
{
    int t;
    cin >> t;
    string a,b;
    s[0]="First string is older";
    s[1]="First string is younger";
    s[2] = "The two strings are the same age";
    cout << s[0]<<endl;
    for(int i=1;i<=t;i++)
    {
        cin >> a >> b;
        ll p[26]={0},q[26]={0};
        for(int j=0;j<a.length();j++)
        {
            p[a[j]-‘a‘]++;
        }
        for(int j=0;j<b.length();j++)
        {
            q[b[j]-‘a‘]++;
        }
        int flag =0 ,bgm =0;
        for(int j=25;j>=0;j--)
        {
            if(p[j]>q[j])
            {
                flag=1;
                break;
            }
            else if(p[j]<q[j])
            {
                bgm =1;
                break;
            }
        }
        printf("Data set #%d: ",i);
        if(flag)
        {
            cout<<s[0]<<endl;
        }
        else if(bgm)
        {
             cout<<s[1]<<endl;
        }
        else{
            cout<<s[2]<<endl;
        }
        printf("\n");
    }
}

//c

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
vector<pair<int,int>>v;
const int N = 1e4 +10;
struct node{
ll p,q;
};
map<int,int>mp;
node nd[N];
int kg1[N],kg2[N];
bool cmp(node x, node y)
{
    return x.p<y.p;
}
int main()
{
    int n;
    cin >> n;
    for(int i=1;i<=n;i++)
    {
        memset(kg2,0,sizeof(kg2));
        memset(kg1,0,sizeof(kg1));
        memset(nd,0,sizeof(nd));
        mp.clear();
        int m;
        cin >> m;
        int cun =1;
        for(int j=1;j<=m;j++)
        {
            int a,b;
            scanf("%d%d",&a,&b);
            if(mp[a]>0)
            {
                nd[mp[a]].q+=b;
            }
            else{
                mp[a] = cun;
                nd[cun].p = a;
                nd[cun].q = b;
                cun++;
            }
        }
        sort(nd,nd+cun,cmp);
        printf("Prime Factorization #%d:\n",i);
        for(int j=1;j<cun;j++)
        {
            int xy =nd[j].q;
            int num =0;
            while(xy)
            {
                xy/=10;
                num++;
            }
            kg1[j]=num;
            //printf(" %lld",nd[j].q);
        }
        //printf("\n");
        for(int j=1;j<cun;j++)
        {
            int xy =nd[j].p;
            int num =0;
            while(xy)
            {
                xy/=10;
                num++;
            }
            kg2[j]=num;
            //printf("%lld%c",nd[j].p,j+1==cun?‘\n‘:‘ ‘);
        }
        for(int j=1;j<cun;j++)
        {
            for(int k=1;k<=kg2[j];k++)
            {
                printf(" ");
            }
             printf("%lld",nd[j].q);
        }
        printf("\n");
        for(int j=1;j<cun;j++)
        {

             printf("%lld",nd[j].p);
              for(int k=1;k<=kg1[j];k++)
            {
                printf(" ");
            }
        }
        printf("\n");
       if(i!=n) printf("\n");
    }
    return 0;
}
//G#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false);
typedef long long ll;
#define P 3.14159265358979
const int maxn=2e5+10;
ll a[maxn],dp[maxn];
map<char,int>mp;

int main(){
    int t ;
    cin >> t;
    int sum=0;
    int tt=t;
    while(t--){
            sum++;
        string s;
        cin >> s;
        cout << "Pattern "<< sum<<": ";
        stack<int> st;
        int vis[100];
        memset(vis,0,sizeof(vis));
        int len=s.length();
        int aa[100],bb[100];
        int cnta=0,cntb=0;
        int flag=0;
        for(int i=0;i<len;i++){
            if(s[i]==‘a‘){
                aa[++cnta]=i;
                continue;
            }
            if(s[i]==‘b‘){
                bb[++cntb]=i;
                continue;
            }
            if(s[i]==‘c‘) continue;
            flag=1;
        }
       // cout << cnta << " " << cntb << endl;
        if(flag||(cnta!=cntb)) {
                cout<< "Still Looking." << endl;
                if(sum!=tt) cout << endl;
                continue;
        }
        int flag2=0;
        for(int i=0;i<len;i++){
            if(s[i]==‘c‘) continue;
            if(s[i]==‘a‘) st.push(i);
            if(s[i]==‘b‘){
                    int flag3=0;
                int t=st.top();
                for(int j=t+1;j<i;j++){
                    if(vis[j]==3) flag3=1;
                    if(s[j]==‘c‘) flag3=1;
                }
                if(flag3==1){
                    for(int j=t;j<=i;j++){
                        vis[j]=3;
                    }
                    st.pop();
                }
                else{
                    flag2=1;
                    break;
                }
            }
        }
        if(flag2==1) cout<< "Still Looking." << endl;
        else cout << "More aliens!" << endl;
        if(sum!=tt) cout << endl;
    }
    return 0;
}

原文地址:https://www.cnblogs.com/wsxmmfby-jy/p/12610734.html

时间: 2024-08-28 06:02:14

UCF Local Programming Contest 2012(Practice)的相关文章

UCF Local Programming Contest 2012(Practice)补题

Clean Up the Powers that Be 主要是输出格式上的问题 1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 int main(){ 5 long long t,s[10005]; 6 cin>>t; 7 int p=0; 8 while(t--){ 9 p++; 10 memset(s,0,sizeof(s)); 11 int n; 12 cin>>n

UCF Local Programming Contest 2017(2020-04-06)

原题地址:https://www.jisuanke.com/contest/7195?view=challenges A. Electric Bill 题意:分级收费,用电1000以下一档,以上一档,问应支付多少钱 AC代码: #include<iostream> #include<cstring> #include<algorithm> using namespace std; int main(){ int a,b,n,temp; cin>>a>&

C . Brownies vs. Candies vs. Cookies -UCF Local Programming Contest 2015

https://nanti.jisuanke.com/t/43388 题意 一共有 m 个队伍(无用数据), n 块蛋糕,对蛋糕进行 t 次操作 每次操作:给定当前队伍的人数 num ,对当前蛋糕数量 n 进行需求: 如果 n>num,num-=n: 否则,把所有的蛋糕切成两半(即n*=2)之后,再次进行需求: 问最终留下的蛋糕快数 简单模拟 代码 #include<iostream> #include<cstdio> #include<cstring> #inc

UCF Local Programming Contest 2018 E题(树状数组+dfs序)

如果这道题没有一个限制,那么就是一道树状数组+dfs序的裸题 第一个请求或许会带来困惑,导致想要动态建树,如果真的动态修改树,那么dfs序必定会改变,很难维护,并且数据很大,暴力应该会T 所以不妨先把全部的节点建好,这样只需要求一次dfs序,而对于第一种操作 我们只需要再那个位置减去在他之前的dfs序的bouns求和,并在这个的后一个位置+回来,这样就有这个点被修改,并且成为了一个新点,等同于要求的操作 #include<iostream> #include<cstdio> #in

UCF Practice Local Contest 2018 (practice)Rummy Score (dfs)

dfs,对于每个点数的牌,都有:不出.作为同花出.作为顺子出这三种选择 #include<bits/stdc++.h> using namespace std; int a[20],x,anss=0x3f3f3f3f; void dfs(int k) { if(k>13) { int sum=0; for(int i=1;i<=13;i++) { sum+=a[i]*i; } anss=min(anss,sum); return; } if(a[k]==0) { return df

Benelux Algorithm Programming Contest 2019 (2020-3-21)

B. Breaking Branches 解题思路: 看了半天才看懂什么意思QWQ,就判断一下奇数还是偶数就行了. AC代码: #include<math.h> #include<stdio.h> #include<algorithm> #include<iostream> #include <string.h> using namespace std; int main() { int n; cin>>n; if(n%2==0){

2020.3.28-ICPC训练联盟周赛,选用试题:UCF Local Programming Contest 2016

A.Majestic 10 签到题. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<bitset> #include<cassert> #include<cctype> #include<cmath> #include<cstdlib> #include<ctime>

2020.04.06 UCF Local Programming Contest 2017

E题:Opposites Attract 题目链接:https://nanti.jisuanke.com/t/44821 题目大意: 题目明确了圆盘上各块的得分,给出m(t)个点,问这些点在圆盘上的分数总和. 思路: 一个2π的圆,可以想到用弧度来确定点的位置(一开始做的时候用的角度,却WA了),弧度就是atan(x,y)  如果再除以 π,就可以简化,注意单独讨论点在y轴的情况. 解题代码: 1 #include <cstdio> 2 #include <iostream> 3

A . Find the Twins -UCF Local Programming Contest 2015

https://nanti.jisuanke.com/t/43386 水题 zack和mack有对应的球员数字 从序列中找出是否存在 代码 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<bitset> #include<cassert> #include<cctype> #include<cmath