CSU 1785: 又一道简单题
1785: 又一道简单题
Submit Page Summary Time Limit: 5 Sec Memory Limit: 128 Mb Submitted: 602 Solved: 234
Description
输入一个四个数字组成的整数 n,你的任务是数一数有多少种方法,恰好修改一个数字,把它 变成一个完全平方数(不能把首位修改成 0)。比如 n=7844,有两种方法:3844=62^2和 7744=88^2。
Input
输入第一行为整数 T (1<=T<=1000),即测试数据的组数,以后每行包含一个整数 n (1000<=n<=9999)。
Output
对于每组数据,输出恰好修改一个数字,把 n 变成完全平方数的方案数。
Sample Input
- 2
- 7844
- 9121
Sample Output
- Case 1: 2
- Case 2: 0
Hint
Source
湖南省第十一届大学生计算机程序设计竞赛
- #include<iostream>
- #include<algorithm>
- #include<cstdio>
- #include<cstring>
- #include<set>
- #include<map>
- #include<sstream>
- #include<queue>
- #include<cmath>
- #include<list>
- #include<vector>
- #include<string>
- using namespace std;
- #define long long ll
- const double PI = acos(-1.0);
- const double eps = 1e-;
- const int inf = 0x3f3f3f3f;
- const int N = ;
- int n, m, tot;
- int a[];
- int r[], c[];
- int x, y, pr, pc, k = ;
- int ok(int x)
- {
- int tp=sqrt(x*1.0);
- return tp*tp==x;
- }
- int change(string s)
- {
- int sum = ;
- for(int i=; i<s.size(); i++)
- {
- sum = sum * + s[i] - '';
- }
- return sum;
- }
- int sq[];
- void init()
- {
- int k = ;
- for(int i=; i<; i++)
- sq[k++] = i * i;
- }
- int main()
- {
- int t, k = ;
- cin >> t;
- while(t--)
- {
- string s, s1, s2, s3, s4;
- int cnt = ;
- cin>>s;
- int a,b,c,d;
- s1 = s;s2 = s;s3 = s;s4 = s; //将s分别复制给中间变量
- a = s1[]-''; b = s2[]-''; c = s3[]-''; d = s4[]-''; //记录原4位数各个数位数值
- //printf("%d %d %d %d\n",a,b,c,d);
- for(int i=; i<= ; i++) //第一位改变不能和原来的相等&&第一位不能为0
- {
- if(i==a) continue; //注意!不能把i!=a写在for循环里面 一遇到a会直接跳出循环而漏掉情况!!!
- s1[] = i + ''; //改变第一位
- //cout<<s1[0]<<endl;
- if(ok(change(s1))) { //将字符串变为数值再判断是否为完全平方数
- //printf("%d\n",change(s1));
- cnt++;
- }
- }
- for(int i=; i<= ; i++)
- {
- if(i==b) continue;
- s2[] = i + '';
- //cout<<s2[1] <<endl;
- if(ok(change(s2))){
- //printf("%d\n",change(s2));
- cnt++;
- }
- }
- for(int i=; i<= ; i++)
- {
- if(i==c) continue;
- s3[] = i + '';
- //cout<<s3[2]<<endl;
- if(ok(change(s3))) {
- //printf("%d\n",change(s3));
- cnt++;
- }
- }
- for(int i=; i<= ; i++)
- {
- if(i==d) continue;
- s4[] = i + '';
- //cout<<s4[3]<<endl;
- if(ok(change(s4))) {
- //printf("%d\n",change(s4));
- cnt++;
- }
- }
- printf("Case %d: ",k++);
- cout<<cnt<<endl;
- }
- return ;
- }
CSU 1785: 又一道简单题的更多相关文章
- 又一道简单题&&Ladygod(两道思维水题)
Ladygod Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit S ...
- 中南大学2018年ACM暑期集训前期训练题集(入门题) X: 又一道简单题
简直智障,上一题V题,样例输出里面的“Case:”不要输出,到了这题又是要输出的了 #include<iostream> using namespace std; int num[1000 ...
- P3928 SAC E#1 - 一道简单题 Sequence2
题目背景 小强和阿米巴是好朋友. 题目描述 小强喜欢数列.有一天,他心血来潮,写下了三个长度均为n的数列. 阿米巴也很喜欢数列.但是他只喜欢其中一种,波动数列. 阿米巴把他的喜好告诉了小强.小强便打算 ...
- UVa 11991 一道简单题
https://vjudge.net/problem/UVA-11991 题意:给出一个包含n个整数的数组,你需要回答若干询问.每次询问两个整数k和v,输出从左到右第k个v的下标. 思路: 把每个数字 ...
- 【Luogu】 P3928 SAC E#1 - 一道简单题 Sequence2
[题目]洛谷10月月赛R1 提高组 [算法]递推DP+树状数组 [题解]列出DP递推方程,然后用树状数组维护前后缀和. #include<cstdio> #include<cstri ...
- 洛谷P3928 SAC E#1 - 一道简单题 Sequence2
提交地址 题目背景 小强和阿米巴是好朋友. 题目描述 小强喜欢数列.有一天,他心血来潮,写下了三个长度均为n的数列. 阿米巴也很喜欢数列.但是他只喜欢其中一种,波动数列. 阿米巴把他的喜好告诉了小强. ...
- Go: LeetCode简单题,简单做(sort.Search)
前言 正值端午佳节,LeetCode也很懂.这两天都是简单题,早点做完去包粽子. 故事从一道简单题说起 第一个错误的版本 简单题 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最 ...
- QDUOJ 一道简单的数据结构题 栈的使用(括号配对)
一道简单的数据结构题 发布时间: 2017年6月3日 18:46 最后更新: 2017年6月3日 18:51 时间限制: 1000ms 内存限制: 128M 描述 如果插入“+”和“1”到 ...
- 面试一个百度T7程序员,一道简单的题没答上来!网友却都在吐槽面试官!
程序员面试时都考些什么? 一个面试官得意洋洋地说自己面了一个百度T7,出了一道coding题,结果对方连最长上升子序列都写不出来. 楼主本想嘲弄一下百度T7的代码水平低,没想到网友们炸开了锅,纷纷 ...
随机推荐
- HDU:4417-Super Mario(离线线段树)
Super Mario Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...
- WPF实现QQ群文件列表动画(二)
上篇(WPF实现QQ群文件列表动画(一))介绍了WPF实现QQ群文件列表动画的大致思路,结合我之前讲过的WPF里ItemsControl的分组实现,实现起来问题不大,以下是效果图: 其实就是个List ...
- TCP/IP网络编程之基于TCP的服务端/客户端(一)
理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP套接字和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于流(stream)的套接字.TCP是Transmissi ...
- Less Css 教程
http://www.w3cplus.com/css/less,这个东西太吊了!
- leetcode 【 Add Two Numbers 】 python 实现
题目: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...
- IOS开发学习笔记018- 一般控件的使用
1.移动 2.动画 3.缩放 3.旋转 4.简化代码 5.总结 UIButton 的两种状态 normal highlighted 1.移动 OC语法规定:不允许直接修改某个对象中结构体属性的成员. ...
- python小脚本(18-11.10)-修改excle后批量生成,作用:导入数据时,系统做了不能导入重复数据时的限制时使用 -本来是小白,大神勿扰
from testcase.test_mokuai.operation_excle import OperationExcleimport shutil class test_daoru(): #一个 ...
- Oracle 学习----:创建表(主键自增)
一.创建表 create table testTable ( Id numbere, name varchar2(100), age number, createTime date, primary ...
- easyui在datagrid只想选择一条
<table class="" id="jgrid" data-options="fitColumns:true,rownumbers: tru ...
- chrome浏览器无法安装非应用商店插件的解决办法
不久前,安装了一个非chrome应用商店的第三方应用,今天突然发现无法使用,打开chrome的扩展程序后,发现该插件以及被禁用,在网上查找了解决方法,设置“开发者模式”,修改了chrome的参数,仍然 ...