XTU 1298 Position
http://202.197.224.59/exam/index.php/problem/exam_read/id/1298/exam_id/229
思路:
1.数据很水,其实可以暴力过(当然,说的是优雅的暴力);
2.可以推数学公式;
3.计算前缀和然后二分查找。
根据n的数据范围可知,数组开到1e5足够了:
((1+1e5)*1e5/2) > 1e9
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll ans[100005];
int main()
{
for(int i=1;i<=1e5;i++)
ans[i]=ans[i-1]+i;
int n;
while(cin>>n)
{
int pos = lower_bound(ans,ans+100000,n)-ans;
cout<<pos<<" "<<n-ans[pos-1]<<endl;
}
return 0;
}
XTU 1299 String
http://202.197.224.59/exam/index.php/problem/exam_read/id/1299/exam_id/229
思路:直接暴力模拟一下就好,送分题,注意每个样例之间要换行。
#include<bits/stdc++.h>
using namespace std;
int main()
{
char s[101],t[101];
while(scanf("%s",s)!=EOF){
int ca=1;
while(scanf("%s",t)!=EOF){
if(t[0]=='E')
{
printf("\n");
break;
}
else if(t[0]=='S')
{
int a,b;
char c[2];
scanf(

这篇博客详细介绍了湘潭大学2017年下学期程序设计实践模拟测试的部分题目解题思路,涉及题目包括Position、String、Dice、Zeroes和Balance Tree等。解题方法包括暴力模拟、数学公式推导、前缀和计算及二分查找等。对于每道题目,博主提供了清晰的解决方案,并特别强调了在处理某些问题时要注意的细节,如数据范围、精度控制等。
最低0.47元/天 解锁文章
2874

被折叠的 条评论
为什么被折叠?



