题目链接:http://lightoj.com/volume_showproblem.php?problem=1163 题意:有一个数A,然后去掉A的最后一位得到B,先告诉你A-B的值,求所有满足条件的A,按从小到大的顺序输出; 其实就是x-x/10=n求所有的 x(这里的x/10是取整) 还可以写成是:num*10+r - num = n,其中num*10+r = A, r = B:r一定是0-9中的一个数,可以枚举,所以可以得到 9 * num = n-r; 所以只要找到所有的r是的(n-r…
1163 - Bank Robbery   In one very cold morning, Mark decides to rob a bank. But while trying hacking into the security system, he found that it is locked by some random value. He also found a pattern on the random number, that is if he chops off the…
A. Bank Robbery time limit per test 2 seconds memory limit per test   256 megabytes   A robber has attempted to rob a bank but failed to complete his task. However, he had managed to open all the safes. Oleg the bank client loves money (who doesn't),…
//int 和int类型计算得到的结果还是int类型 eg:int a = 371 / 100 % 10,求a的结果为多少? 首先371除以100,再让此结果除以10求余数. 一 371除以100得到的是3,而不是3.71. 二 再用3%10,求余为3 结果为3. ---------------------------------------------------------------------- eg:int a = 371 / 10 % 10,求a的结果为多少? 371/10得到37…
题意:一个数A,如果A去掉它的最后一位就变成了B,即B=A/10,给A - B,求A #include <iostream> #include <cstdio> #include <sstream> #include <cstring> #include <map> #include <set> #include <vector> #include <stack> #include <queue>…
[题目链接]:http://codeforces.com/contest/794/problem/A [题意] 每个位置上可能有物品(>=1)或是没物品 你一开始在某一个位置b; 然后你最左可以往左走到a(a< b) 最右可以往右走到c(b< c); 然后问你a..c这区间里面有多少个物品; [题解] 傻逼题 [Number Of WA] 0 [完整代码] #include <bits/stdc++.h> using namespace std; #define lson l…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1197 题意:给你两个数 a b,求区间 [a, b]内素数的个数, a and b (1 ≤ a ≤ b < 231, b - a ≤ 100000). 由于a和b较大,我们可以筛选所有[2, √b)内的素数,然后同时去筛选掉在区间[a, b)的数,用IsPrime[i-a] = 1表示i是素数: ///LightOj1197求区间素数的个数; #include<stdio.h&g…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1300 边双连通分量首先dfs找出桥并标记,然后dfs交叉着色找奇圈上的点.这题只要求在奇圈上的点个数.容易得到,一个边双联通分量如果存在奇圈,那么整个分量上的点都属于某个奇圈. #include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<alg…
public class Main { static double eps = 1e-7; public static void main(String[] args){ double l = 2,r = 3,mid; while(l+eps < r){ mid = (l+r)/2; if(Math.pow(mid,mid) < 10) l = mid; else r = mid; } System.out.printf("%.6f\n",l); } }…
题目描述: 求整数的Root:给定正整数,求每位数字之和;如果和不是一位数,则重复; 输入:输入任意一个或多个整数 输出:输出各位数字之和,直到和为个位数为止(输入异常,则返回-1),多行,每行对应一个输入数据的结果. 样例输入: 25 865 样例输出: 7 1 思路分析: 首先求个位数相加,经典方法,求余相除 要求各个位数的和是小于10,可以采用递归或者循环 代码: import java.util.Scanner; public class Main { static int[] num…