这题很容易的,依然是暴力搜索,好吧,这一章都叫complete search
要点就两个,一个是进制转换,一个是ASCII码转换(当然你要想用数组来搞也是没什么问题的)
难道就是在告诉你,暴力搜索才是你最需要care的么?!
下面上我的代码:
/* ID: bbsunch2 PROG: palsquare LANG: C++ */ #include <iostream> #include <fstream> #include <string> #include <vector> #include <stdlib.h> using namespace std; string changeBase(int formerNum, int baseNum) { string latterNumString; while(formerNum) { char c; int num = formerNum % baseNum; if(num < 10) { c = (char)(num+48); }else { c = (char)(num+55); } latterNumString.insert(latterNumString.begin(),c); formerNum = (int)(formerNum / baseNum); } return latterNumString; } bool checkPals(string input) { bool pals = true; int inputLength = input.length(); int halfLength = (int)(inputLength/2); for(int i = 0; i < halfLength; i++) { int k = inputLength - i - 1; if(input[i] != input[k]) { pals = false; break; } } return pals; } int main() { ofstream fout ("palsquare.out"); ifstream fin ("palsquare.in"); int baseNum = 0; fin >> baseNum; for(int i = 1; i <= 300; i++) { int square = i * i; string result = changeBase(square, baseNum); bool pals = checkPals(result); if(pals) { fout << changeBase(i, baseNum) << " " << result << endl; } } return 0; }
相关推荐
USACO题目Palindromic Squares(回文平方数)及代码解析 在计算机科学和信息学中,回文数(Palindromic Number)是一种数字,它从左向右念和从右向左念都一样。例如,12321是一个典型的回文数。给定一个进制B(2,...
8 [1.2] 回文平方数 Palindromic Squares 9 [1.2] 双重回文数 Dual Palindromes 10 [1.3] 混合牛奶 Mixing Milk 11 [1.3] 修理牛棚 Barn Repair 12 [1.3] 牛式 Prime Cryptarithm 13 [1.3] 虫洞 wormhole 14 [1.3] ...
在USACO的“Magic Squares”问题中,你需要编写一个C++程序来生成特定类型的魔法方阵或验证给定的矩阵是否为魔法方阵。 要实现这样的程序,首先需要理解基本的算法。一种常见的方法是使用Backtracking(回溯法),...
1.2.4 "Palindromic Squares" 和 "Dual Palindromes" 强调了对回文数的理解和生成算法。 1.3.1 "Mixing Milk" 和 "Barn Repair" 可能涉及到更复杂的数学模型和动态规划。 1.4.1 "Packing Rectangles" 可能需要理解二...
USACO,全称为United States阿Olympiad in Informatics,是美国计算机奥林匹克竞赛,旨在为高中生提供一个学习和展示编程技能的平台。这个比赛涵盖了算法、数据结构以及问题解决等多个方面,对于想要深入理解计算机...
### USACO 2010-2011 季度竞赛概览与关键信息 #### 一、概述 美国计算机奥林匹克(USACO)是面向全球中学生的计算机科学竞赛,旨在发掘并培养计算机科学领域的年轻人才。USACO 2010-2011 季度竞赛于 2010 年 11 月...
USACO,全称为United States Computer Olympiad,是一项面向全球中学生的计算机编程竞赛,旨在提升参赛者的算法设计、问题解决和编程能力。该比赛每年举行,分为青铜、白银、黄金和铂金四个级别,难度逐渐递增。...
《USACO 合集:全面解析与学习指南》 USACO,全称为USA Computing Olympiad,是一项针对中学生举办的在线编程竞赛,旨在提升参赛者的算法设计和问题解决能力。这个合集提供了丰富的资源,包括英文原题、中文译题、...
USACO,全称United States Computer Olympiad,是一项面向全球中学生的计算机编程竞赛,旨在提升参赛者在算法设计、问题解决以及计算机科学基础方面的技能。这个压缩包文件提供了丰富的资源,帮助参赛者或学习者更好...
【标题】"usaco traning全部数据" 涉及的是一个编程竞赛训练平台——USACO(USA Computing Olympiad)的数据集。USACO是一个专门为美国中学生设计的在线编程竞赛,旨在提升参赛者的算法设计和编程能力,特别是在解决...
《USACO入门指南——第一章解析》 USACO,全称USA Computing Olympiad,是美国计算机奥林匹克竞赛,旨在培养中学生在算法和编程方面的技能。对于初学者来说,USACO提供了很好的学习路径和挑战。本文将针对USACO的第...
USACO,全称为United States Computer Olympiad,是一项面向中学生的国际性计算机编程竞赛,旨在提升参赛者的算法设计和编程能力。USACO比赛通常使用C++语言进行,因此"USACO 1.1 c++源程序"指的是USACO入门阶段1.1...
USACO,全称United States Computer Olympiad,是美国计算机奥林匹克竞赛,是一项旨在培养青少年编程技能和算法理解的国际性比赛。这个比赛对于有志于在计算机科学领域深入发展的学生来说,具有很高的学习价值和挑战...
USACO(美国计算机奥林匹克竞赛)是面向全球中学生的一项编程竞赛,主要涉及算法和问题解决能力。这个压缩包文件“usaco历年测试数据”包含了该赛事历年的测试题目和样例输入输出数据,这对于参赛者准备比赛或者提升...
USACO,全称United States阿Olympiad in Computer Science,是美国计算机科学奥林匹克竞赛,旨在激发中学生对计算机科学的兴趣,尤其是算法和编程技能。这个"USACO全部测试数据.zip"压缩包包含了历年来USACO比赛的...
标签中包含的关键词:“usaco”、“acm”、“pku”、“测试数据”和“源码”,进一步细化了主题。USACO和ACM都是编程竞赛的名称,而“pku”是比赛的组织者之一。"测试数据"意味着这个压缩包包含了用于检验编程解决...
USACO(USA Computing Olympiad)是美国计算机奥林匹克竞赛,是一项面向中学生的编程竞赛,旨在提升学生的算法设计、编程和问题解决能力。该比赛通常包括训练营和一系列在线比赛,最终选拔出优秀选手代表美国参加...
USACO,全称United States Computer Olympiad,是一项面向全球中学生的计算机编程竞赛,旨在提升参赛者的算法设计、编程能力和问题解决能力。本压缩包包含了USACO比赛的题解、源代码以及对应的中文翻译,对于想要...
某些USACO题目的答案,很详细,代码清晰结构良好,算法高效易于调试
### USACO心得及总结 #### 第一部分 动态规划 **USACO**(美国计算机奥林匹克竞赛)作为一项国际知名的编程竞赛,不仅考验参赛者的编程能力,还对其算法理解和应用有着极高的要求。其中,动态规划(Dynamic ...