freopen

How can I tell the program to stop using freopen

ε祈祈猫儿з 提交于 2021-02-17 02:50:28
问题 I am beginner in C++ and I have a question that is beyond my limits. I compile under GNU GCC. I use #include<stdio.h> also known as: #include<cstdio> At some point in my program I tell the program to use the file de_facut.txt as an in file: freopen("de_facut.txt","r",stdin); How can I tell the program to use the console to put the input (as default) instead of the in file? First I want to read from that file, but later in the program I want the user to enter input in the console. I hope you

How can I tell the program to stop using freopen

▼魔方 西西 提交于 2021-02-17 02:50:13
问题 I am beginner in C++ and I have a question that is beyond my limits. I compile under GNU GCC. I use #include<stdio.h> also known as: #include<cstdio> At some point in my program I tell the program to use the file de_facut.txt as an in file: freopen("de_facut.txt","r",stdin); How can I tell the program to use the console to put the input (as default) instead of the in file? First I want to read from that file, but later in the program I want the user to enter input in the console. I hope you

第十周周赛题解

眉间皱痕 提交于 2020-04-04 21:38:56
A题: 二分题目,具体二分公式看我代码吧(ーー゛) 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 #define maxa 20100 6 using namespace std; 7 int a[maxa],l[maxa],r[maxa],n; 8 bool comp(int p) 9 { 10 int x= a[1],y= p-a[1],i; 11 memset(l,0,sizeof(l)); 12 memset(r,0,sizeof(r)); 13 l[1] =x; 14 r[1] = 0; 15 for(i=2; i<=n; ++i) 16 { 17 if(i%2==0) 18 { 19 l[i] = min(x-l[i-1],a[i]); 20 r[i] =a[i]-l[i]; 21 } 22 else 23 { 24 r[i] = min(y-r[i-1],a[i]); 25 l[i] = a[i]-r[i]; 26 } 27 } 28 return l[n]==0; 29 } 30 int main() 31 { 32 int i; 33 //freopen("E:/造数据/in1_test.in","r",stdin); 34 //freopen

AtCoder Grand Contest 035

妖精的绣舞 提交于 2020-03-17 06:14:21
Preface Atcoder的题都好劲啊,都是我做不动的 计数 与 构造 就当锻炼自己的思维能力了(基本都是bzt教的) A - XOR Circle bzt说这题数据太水了只要判一下所有数异或值是否为 \(0\) 就能过,但我们要考虑正解(数据太弱我也不知道到底对不对) 首先我们发现放数的时候必然会出现 \(a_1\to a_1\operatorname{xor} a_2\to a_2\to a_1\) 的情况,即三个数一组的循环 那么我们可以得到一个普遍的结论:只有三种数且每种 数字个数相同 然后你直接提交就会WA掉,原因是忽略了 \(0\) 的情况,因此我们要加上下面两个特判: 全为 \(0\) 时显然合法 \(3|n\) 且只有两种数(一种是 \(0\) ), \(0\) 的个数为 \(\frac{n}{3}\) ,非零的那个数个数为 \(\frac{2n}{3}\) 。假设非零数为 \(x\) ,显然可以放置成 \(x\to 0\to x\to x\to 0\to x\to \cdots x\to 0\to x\) #include<cstdio> #include<cctype> #include<map> #include<utility> #define RI register int #define CI const int& #define Tp

湖南雅礼培训 1.2

…衆ロ難τιáo~ 提交于 2020-03-07 08:29:50
模拟赛 串(string) 【题目描述】 给定一个由小写字母组成的字符串 s,每次你可以删去它的一个非回文子串, 求删成空串的最小次数。 【输入数据】 第一行一个整数 t 表示数据组数。 每组数据第一行一个整数 n 表示字符串长度,第二行一个字符串 s。 【输出数据】 每组数据输出一行一个整数表示答案,如果无法删成空串输出-1。 【样例输入】 2 7 abcdcba 3 xxx 【样例输出】 2 -1 【样例解释】 对于第一个样例,一种最优方案为 abcdcba->adcba->空串。 【数据范围】 对于 30%的数据,n<=10。 对于 60%的数据,n<=100。 对于 100%的数据,t<=20,n<=10^5。 #include<iostream> #include<cstdio> #include<cstring> #define maxn 110 #define INF 0x7fffffff using namespace std; int ans; struct node{ string s; int len; }; void solve(node now,int step){//已经进行了step次 if(step>=ans)return; for(int l=0;l<now.len;l++){ for(int r=l+1;r<now.len;r++){ int

USACO 4.1

偶尔善良 提交于 2020-02-29 22:53:23
目录 洛谷 2737 麦香牛块 分析 代码 洛谷 2738 篱笆回路 分析 代码 麦香牛块洛谷传送门 , 麦香牛块USACO传送门 , 篱笆回路洛谷传送门 , 篱笆回路USACO传送门 洛谷 2737 麦香牛块 分析 首先如果包装总GCD不为1,显然没有上界 然后这个答案如果存在必然满足在一个范围内, 可以推结论得到上界为 \(max*(max-1)\) (好像是反证法) 然后就可以用完全背包求解啦, 但是为了推广 \(\text{STL::bitset}O(\frac{n*maxlogLIMIT}{32})\) 的做法 所以我就写了跑得更慢的做法T^T 代码 /* ID:lemondi1 LANG:C++ TASK:nuggets */ #include <cstdio> #include <algorithm> #include <bitset> #define rr register using namespace std; const int N=65300; bitset<N>dp; int n,a[11],G,ans,lim; inline signed gcd(int a,int b){return b?gcd(b,a%b):a;} signed main(){ freopen("nuggets.in","r",stdin); freopen("nuggets.out

Mac下使用Xcode的freopen读取输入输出

梦想与她 提交于 2020-02-29 12:21:51
很多使用Mac的小伙伴都知道,类似于win或者linux系统下的直接freopen是不行的,或者说强制读入也是不可的。 于是,就是去想办法去读入它了,那么怎么读文件和写文件呢? 创建".txt"文件 找到文本编辑 点击新建文稿 但是发现,怎么是这样的哩? 制作纯文本 然后输入你想输入的内容即可。 放.TXT文件到合适的位置 我们然后就是去把它放到合适的位置上去了。 show in Finder 然后,你可以把之前新建的"input.txt"文件放入其中即可,甚至可以再加个"output.txt"文件用来得到输出。 然后,我们现在再去使用原来的代码 就会发现,output文件会得到了input的读入了,success! 头文件别忘了。 #include <iostream> #include <cstdio> #include <cmath> #include <string> #include <cstring> #include <algorithm> #include <limits> #include <vector> #include <stack> #include <queue> #include <set> #include <map> #include <bitset> #include <unordered_map> #include <unordered_set

2016-2017 ACM Central Region of Russia Quarterfinal Programming Contest

≡放荡痞女 提交于 2020-02-28 05:23:58
2016-2017 ACM Central Region of Russia Quarterfinal Programming Contest A. Fried Fish 题意:有N条鱼,有一个同时可以煎k条鱼的锅,鱼两个面都要煎; 分析:k*2个面要煎,是否有一种方式可以让锅没有空闲,当时我举了几个例子,确实可以找到,没有证明,注意n<k的情况 #include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { freopen("INPUT.TXT","r",stdin); freopen("OUTPUT.TXT","w",stdout); int x,y; while(scanf("%d%d",&x,&y)!= EOF) { if(2*x<=y) printf("2\n"); else { if((2*x)%y==0) printf("%d\n",(2*x)/y); else printf("%d\n",(2*x)/y+1); } } return 0; } B. Hanoi tower 题意:用给出的汉诺塔算法,求出第一次相同时的步数; 分析: 网上有一个公式:先求出n层从A到B的步数:d(n)=d(n-1)*2+1 然后:ans(n)= d(n/3*2-1)+d

逼近法(例 poj3208、poj1037)

冷暖自知 提交于 2020-02-24 20:13:19
​ 逼近法是一种很奇妙的算法,以为“逼近”这一种思想在很多的算法中都有体现。诸如:像我们的二分答案,不断地排除决策集合的一半以接近我们的最终答案;我们的树上倍增求 $ LCA $ 算法,一次次的减小我们跳的距离以确定祖先的准确位置;我们的模拟退火需要用一个温度,每次操作后这个温度一定会下降,逼近正确答案;再如我们大多数函数的收敛性,在多次计算后会趋向某一定值;还有我们DP的拼凑与试填的思想也有逼近的味道。 我们逼近的前提就在于我们是否可以在每一次操作后排除一些决策集合,并且是高效的排除。就像:银河系 -> 太阳系 -> 太阳系 -> 地球 -> 中国 -> 湖南 -> 长沙。还有我做出来的第一道逼近题:存在很多长度为 $ n $ 的有26个字母组成的字符串,我们将他们按字典序排序,现在给出序号或字符串,要求输出它对应的序号或字符串。这是一道傻逼题,我们可以试填第一个字母,然后它后面剩余的位置有很多种填法,我们看这么多填法是否大于我们的序号,然后我们从小到大填,这样可以确定第一个字母,紧接着可以推出第二个第三个.....然后就是答案。 虽然写的都是些浅显的东西,但如果这个思想和其他东西串联起来就不见得简单了。好了说白了就是来写题解的,不管这么多了。。。。。。。。。。。。。。。。。。。。 Poj 1037 A decorative fence 大致题意:我们要构建长度为 $ N $

2014-10-28 NOIP模拟赛

北城以北 提交于 2020-02-23 03:38:07
Porble 1 时间与空间之旅(tstrip.*) 题目描述 公元22××年,宇宙中最普遍的交通工具是spaceship。spaceship的出现使得星系之间的联系变得更为紧密,所以spaceship船长也成了最热门的职业之一。当然,要成为一名出色的船长,必须通过严格的考核,例如下面是最简单的问题中的一个。 用1~n的整数给n个星系标号,目前你在标号为1的星系,你需要送快递到标号为n的星系,星系之间由于存在陨石带,并不是都可以直连的。同时,由于超时空隧道的存在,在某些星系间飞行会出现时间静止甚至倒流,飞行时间为0或为负数。另外,由星系i到星系j的时间和由星系j到星系i的时间不一定是相同的。 在寄出日期之前收到快递被认为是不允许的,所以每部spaceship上都有一个速度调节装置,可以调节飞行的时间。简单来说其功能就是让所有两个星系间的飞行时间(如果可以直达)都增加或减少相同的整数值,你的任务就是调整速度调节器,找出一条用最短时间完成任务的路径,并且保证这个最短时间的值大于或等于0。 输入格式 输入文件包含多组数据,第1个数为T,表示数据的数量。 对于每一组数据,输入第1行为两个正整数N(2≤N≤100),E(1≤E≤N*(N-1)/2),为星系的个数和星系间飞行的路线数。然后E行,每行三个整数i,j和t(1≤i,j≤N,i≠j,-100000≤t≤100000)