首页 > 编程语言 >2024“钉耙编程”中国大学生算法设计超级联赛(2)1003

2024“钉耙编程”中国大学生算法设计超级联赛(2)1003

时间:2024-07-23 10:08:40浏览次数:12  
标签:钉耙 10 ++ able 2024 int ans 1003 check

绝对不模拟的简单魔方

要相信题目的提示 (直接模拟的代码长达300行) ,由于魔方的特性,不论如何转动脚上的色块颜色不会变动,只要枚举8个角块看看是否一致即可,枚举角块时需确定访问角块颜色的顺序,例如以3号为顶,后左上访问顺序为123即坐标为\((3,4)->(4,3)-(4,4)\) ,那么可以通过此角块的移动来确定其他角块的访问顺序(方向一致即可起点可以变动),存下所有访问顺序和坐标遍历判断即可

#include<bits/stdc++.h>  
  
#define int long long  
using namespace std;  
const int N = 1e4 + 10;  
  
vector<string> s(10);  
  
void solve() {  
    for (int i = 1; i <= 9; i++) {  
        cin >> s[i];  
        s[i] = ' ' + s[i];  
    }  
    map<string, int> able;  
    vector<vector<pair<int, int> > > check(10, vector<pair<int, int>>(3));  
    able["123"]++;  
    able["231"]++;  
    able["312"]++;  
    check[0] = {{3, 4},  
                {4, 3},  
                {4, 4}};  
    able["152"]++;  
    able["521"]++;  
    able["215"]++;  
    check[1] = {{1, 4},  
                {4, 12},  
                {4, 1}};  
    able["145"]++;  
    able["451"]++;  
    able["514"]++;  
    check[2] = {{1, 6},  
                {4, 9},  
                {4, 10}};  
    able["341"]++;  
    able["413"]++;  
    able["134"]++;  
    check[3] = {{3, 6},  
                {4, 6},  
                {4, 7}};  
    able["632"]++;  
    able["326"]++;  
    able["263"]++;  
    check[4] = {{7, 4},  
                {6, 4},  
                {6, 3}};  
    able["436"]++;  
    able["364"]++;  
    able["643"]++;  
    check[5] = {{6, 7},  
                {6, 6},  
                {7, 6}};  
    able["562"]++;  
    able["625"]++;  
    able["256"]++;  
    check[6] = {{6, 1},  
                {6, 12},  
                {9, 4}};  
    able["654"]++;  
    able["546"]++;  
    able["465"]++;  
    check[7] = {{9, 6},  
                {6, 10},  
                {6, 9}};  
    for (int i = 0; i < 8; i++) {  
        char a = s[check[i][0].first][check[i][0].second];  
        char b = s[check[i][1].first][check[i][1].second];  
        char c = s[check[i][2].first][check[i][2].second];  
        string k = "";  
        k += a;  
        k += b;  
        k += c;  
        if (able[k]) continue;  
        else {  
            set<char> ans;  
            ans.insert(a);  
            ans.insert(b);  
            ans.insert(c);  
            for (auto j: ans) {  
                cout << j << ' ';  
            }  
            cout << '\n';  
            return;  
        }  
    }  
    cout << "No problem" << '\n';  
}  
  
  
signed main() {  
    cin.tie(nullptr);  
    cout.tie(nullptr);  
    ios::sync_with_stdio(false);  
    int _ = 1;  
    cin >> _;  
    while (_--) {  
        solve();  
    }  
    return 0;  
}

标签:钉耙,10,++,able,2024,int,ans,1003,check
From: https://www.cnblogs.com/yoez123/p/18317644

相关文章

  • SMU Summer 2024 Contest Round 6
    1.TakandCards原题链接:http://162.14.124.219/contest/1010/problem/B设dp[i][j][k]是在前i个数中选j(j>=1)个数、其和为k的方案总数。第i个数有选与不选2种可能,由此得出转移方程dp[i][j][k]=dp[i-1][j][k]+dp[i-1][j-1][k-a[i]](j>=1)查看代码#include<bits/stdc++.h>#de......
  • 2024-IDEA下载安装教程
    IDEA下载安装教程IDEA官网:IntelliJIDEA–theLeadingJavaandKotlinIDE(jetbrains.com)下载IDEA   双击运行ideaIU-2024.1.4.exe 安装     激活idea 链接:https://pan.baidu.com/s/1_lMVe0oODa-b4BrQJrpZTw?pwd=3456提取码:3456  ......
  • 【2024-07-22】连岳摘抄
    23:59赤日几时过,清风无处寻。经书聊枕籍,瓜李漫浮沉。兰若静复静,茅茨深又深。炎蒸乃如许,那更惜分阴。                                                 ——《大暑》宋·......
  • 凯斯博智能锁全市网点统一服务热线(2024更新号码)
    400服务电话:400-117-1060(点击咨询)凯斯博智能锁全市网点统一服务热线(2024更新号码)凯斯博智能锁全国各售后服务热线号码2024已更新(2024已更新)        凯斯博智能锁售后服务维修电话:(1)400-117-1060(点击咨询)(2)400-117-1060(点击咨询)        凯斯......
  • 图纸加密软件哪家强?2024CAD七款图纸加密软件推荐
    在2024年的今天,随着数字化转型的深入,保护企业的知识产权和商业机密变得尤为重要。对于依赖计算机辅助设计(CAD)的行业而言,图纸加密软件成为了维护设计图纸安全的关键工具。这些软件不仅能防止未授权访问,还能确保敏感信息在内外部流通时的安全。在众多的CAD图纸加密软件中,选择一款......
  • 在2024年部署Yolov5到本地(包含部署以及训练全过程,绝对保姆)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言        刚开始用yolo是用k210入门的,在那里学会了制作数据集以及进行训练,第一次了解到了目标检测,机器视觉,主要是因为电赛......
  • 2024年暑期2024牛客暑期多校训练营1 C和H题解
    C题SumofSuffixSums题目大意:开始是给你一空数组,要经历q次操作,每次操作都会给出两个数字t和v,其中要从数组末尾去走元素t次,最后加上元素v。定义si=ai+ai+1+ai+2+ai+3+......+an,最后求s1+s2+s3+.......+sn的总和。最后答案注意取模。 题解:注意到sum的总和其实就......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(1)第一场1001
    循环位移题解2024“钉耙编程”中国大学生算法设计超级联赛(1)题目:ProblemDescription定义字符串S=S0+⋯+Sn−1循环位移k次为S(k)=Skmodn+⋯+Sn−1+S0+⋯+S(k−1)modn。定义[A]=\setA(k),k∈N.给出T组串A,B,询问B有多少个子串在[A]中。Input第一行一个......
  • USACO 2024Feb Silver
    https://usaco.org/index.php?page=feb24results话说usaco赛后怎么看成绩啊。为啥submission只有代码没有评测结果T3交了巨大多次才过T2胡了个做法,讨论不清楚,感觉很对,WA了T1啥都想不出来打一半弃考了。很烦,下午要去上学了467pts,750晋级,乐子大了LG10190[USACO24......
  • 2024牛客暑期多校训练营2(部分题目题解)
    2024牛客暑期多校训练营2(部分题目题解)C.RedWalkingonGrid题意:给定只有红白的2*n个格子,只能走红色各自且只能上下左右走,问最多可以走多少红色格子。题解:左右走:dp[0][i]=dp[0][i-1]+1;上下走:intk1=dp[0][i];intk2=dp[1][i];dp[0][i]=max(dp[0][i],k2+......