有关csp自我反思
首先说说体会把
这次前几个都是模拟,最后一道题以为自己可能会结果是半吊子根本不会,导致浪费了三个小时写第五题只有十分
如果不畏惧字符串而专心的写第三题的话,应该结果会不一样把。希望下次能好好考
第一题就是个简单的报数
#include <bits/stdc++.h>
using namespace std;
int ans[4] = {0};
int judge(int x)
{
int last = 0;
if(x%7==0)
return 1;
else
{
while(x>0)
{
last = x%10;
x/=10;
if(last==7)
return 1;
}
}
return 0;
}
int main()
{
// ios::sync_with_stdio(false);
int n;
int num = 0;
cin>>n;
for(int i=1; num<n; i++)
{
if(judge(i))
{
ans[(i-1)%4]++;
}
else
{
num++;
}
}
for(int i=0; i<4; i++)
cout<<ans[i]<<endl;
return 0;
}
第二题。考试的时候太毛躁了,其实直接暴力搜索就好了,心态真的太差了
浪费自己的时间,主要还是自己太菜了
#include <bits/stdc++.h>
using namespace std;
struct Point{
int x,y;
Point(const Point& b)
{
x = b.x;
y = b.y;
}
Point()
{
}
Point(int a, int b)
{
x=a;
y=b;
}
const bool operator <(Point b) const
{
return x==b.x?y>b.y:x>b.x;
}
};
//int valid[3000][3000]={0};
int ans[5] = {0};
priority_queue<Point> q;
vector<Point> g[3000];
void judge(Point a, int i, int j) //判断是否合法
{
int flag[4] = {0};//看是不是一个合法的点,得找他的,上下左右
int score=0;
for(int m = 0; m<g[i-1].size(); m++)
{
if(g[i-1][m].x==(a.x-1)&&g[i-1][m].y==a.y)
flag[0] = 1;
if(g[i-1][m].x==(a.x-1)&&g[i-1][m].y==(a.y+1))
score++;
if(g[i-1][m].x==(a.x-1)&&g[i-1][m].y==(a.y-1))
score++;
}
for(int m = 0; m<g[i].size(); m++)
{
if(g[i][m].y==(a.y+1))
flag[1] = 1;
if(g[i][m].y==(a.y-1))
flag[2] = 1;
}
for(int m = 0; m<g[i+1].size(); m++)
{
if(g[i+1][m].x==(a.x+1)&&g[i+1][m].y==a.y)
flag[3] = 1;
if(g[i+1][m].x==(a.x+1)&&g[i+1][m].y==(a.y+1))
score++;
if(g[i+1][m].x==(a.x+1)&&g[i+1][m].y==(a.y-1))
score++;
}
for(int m=0; m<4; m++)
if(!flag[m])
{
// valid[i][j] =0
//cout<<flag[m]<<" ";
return ;
}
ans[score]++;
//cout<<score<<endl;
}
int main()
{
int n;
cin>>n;
int x;
int y;
for(int i=0; i<n; i++)
{
cin>>x>>y;
q.push(Point(x,y));
}
int raw = 0;
Point to = q.top();
g[raw].push_back(to);
//cout<<to.x<<" "<<to.y<<endl;
int curx = to.x;
q.pop();
while(!q.empty())
{
to = q.top();
//cout<<to.x<<" "<<to.y<<endl;
q.pop();
if(curx!=to.x) //代表在另外的行了
{
raw++;
curx = to.x;
g[raw].push_back(to);
}
else{
g[raw].push_back(to);
}
}
//现在已经存起来了
//开始判断结果,先排序
if(raw<2)
{
//cout<<"11"<<endl;
cout<<"0"<<endl;
cout<<"0"<<endl;
cout<<"0"<<endl;
cout<<"0"<<endl;
cout<<"0"<<endl;
}
else
{
//cout<<raw<<endl;
//for(int i=0; i<=raw; i++)
// sort(g[i].begin(),g[i].end());
for(int i=1; i<=raw-1; i++)
{
//cout<<g[i].size()<<endl;
for(int j=1; j<g[i].size()-1; j++)
{
//cout<<"diaoyonfg"<<endl;
judge(g[i][j],i,j);
}
}
for(int i=0; i<5; i++)
cout<<ans[i]<<endl;
}
return 0;
}
/*
7
1 2
2 1
0 0
1 1
2 0
0 1
1 0
11
9 10
10 10
11 10
12 10
13 10
11 9
11 8
12 9
10 9
10 11
12 11
*/
第三题是个字符串,当时想用dfs来做,但是我是真的不喜欢做字符串的题,于是直接写了前两个样例点的就看后面的了
第四题没仔细看,直接看第五题,觉得自己会,想骗分,结果模两次不满足分配律,直接凉凉
最后总分230,下次再来,凉凉。 下次一定好好做第三题
有关csp自我反思的更多相关文章
- 自我反思--table的简单数据分页
自我反思 几天没有写工作总结了,整个人都变得懒散了.公司的工作也确实是不紧张,对于我这种自制力不强的人简直是...(想不到词了),完全放了风了... 每天逛逛淘宝,买些乱七八糟其实并没有什么用 ...
- OO第二单元作业总结【自我反思与审视】
第二单元作业的完成史,就是一部心酸的血泪史…… 多线程的出现为我(们)打开一片广阔的天地,我也在这方天地摸爬滚打,不断成长!如果说第一单元之前还对Java语法有所了解的话,那么这单元学习多线程则完全是 ...
- 从文章"避免复制与粘贴"到文章"Extract Method"的反思(1)
看了一个比我牛的人的博客园的博文"避免复制和粘贴".里面提到了重构手法Extract Method. 所以又搜了一下Extract Method. 这里先自我理解Extract ...
- 雷军:重刷ROM的“自我格式化”
本文来源于:百度百家 作者:金错刀 2014-03-14 10:33:06 最近,跟一个前金山高管聊起雷军,特别是雷军的变化,她的感觉是:雷总岂止是变化,简直是格式化,甚至是把自己重刷了一遍ROM. ...
- 【Unity】Domina-Game总结与反思
[Unity]Domina-Game总结与反思 2018/6/15 我总算是把物理课作业--Domina-Game给赶完了,这也算是我用Unity做的第一个游戏吧(不得不说我的脚本写的超烂的)...纪 ...
- 其实每个行业都有各自的辛苦,好的程序员并不累,他们乐此不疲(见过太多在职位事业、人生方向上随转如流的人,累了疲乏了就去做别的事情了。必须有自己的坚守和立足的点,自我驱动,否则沦为在别人的体制制度中被驱赶一生)good
作者:陈柯好链接:https://www.zhihu.com/question/39813913/answer/104275537来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- 二胎上位之路:html5报表和原生报表的笑尿撕逼
前段时间,小编和我们移动端产品经理之间发生了一场罕见的撕逼大战. (看到撕逼二字,估计读者朋友们来劲了,呵呵呵……) 事情起因是这样的.小编基于对客户需求以及同行产品的了解,发了一篇关于报表在各种屏幕 ...
- 精通Web Analytics 2.0 (2) 内容简介
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 这本书里有什么? 这本书是在我第一本书<网站分析:每天一小时>的基础上创作的.我并不打算绕弯子,第一章是网站分析2. ...
- 精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第二章:选择你的网络分析灵魂伴侣的最佳策略 在Web Analytics 2.0的新世界秩序中,您必须跳出"单一真理来 ...
随机推荐
- Centos7配置桥接网络
- Linux CentOS 6.5 卸载、安装JDK1.8
卸载系统自带的jdk 1. 查询系统是否已经安装了jdk rpm -qa|grep java 2. 卸载已安装的jdk, 系统可能会自带多个jdk版本, 按需卸载 rpm -e --nodeps ja ...
- Linux:RPM安装工具的使用
RPM安装工具的使用 RPM包管理工具介绍 RedHat 软件包管理工具(RedHat Package Manager,RPM) RPM 软件包工具常用于软件包的安装.查询.更新升级.校验.卸载以及生 ...
- c/c++概述
c/c++的学习分为两个部分 一.语言标准 语言标准定义了功能特性和标准库两部分. 功能特性由编译器负责具体实现,比如linux下gcc,windows下Visual Studio 标准库实现依赖于具 ...
- 算法设计与分析 2.5 Joyvan的难题
★题目描述 Joyvan最近遇到了一个难题,对于一个包含 N个整数的序列a1,a2,--,aN,定义:f(i,j)=(j-i)2+(j∑k=i+1 ak)2 现在Joyvan想要你帮他计算所有 f(i ...
- perl: warning: Setting locale failed. 解决
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAG ...
- 扎心一问!你凭什么成为top1%的Java工程师?
目录 1.解决生产环境里的突发故障 2.对棘手的线上性能问题进行优化 3.锻造区别于普通码农的核心竞争力 4.打磨架构设计能力 5.你凭什么成为 top1%? 你工作几年了? 是否天天CRUD到吐 ...
- 《细说PHP》第四版 样章 第23章 自定义PHP接口规范 3
23.2 接口实现的基础 大家都很了解函数在本地应用,通过名称调用函数执行,并通过传递不同参数,函数有不同执行,执行后给调用者返回结果.如果把一个函数做成一个接口远程访问,也需要这几个步骤.使用HT ...
- Java-100天知识进阶-Java内存-知识铺(四)
知识铺: 致力于打造轻知识点,持续更新每次的知识点较少,阅读不累.不占太多时间,不停的来唤醒你记忆深处的知识点. 1.Java内存模型是每个java程序员必须掌握理解的 2.Java内存模型的主要目标 ...
- html5+css+js简单了解
最近敲了敲HTML5的代码,感觉真的是很吸引人的东西,反正我是非常喜欢的,所以想写一点关于HTML的东xi首先呢我了解的不多,所以也是想写一点点我对它的认识.说起HTML5是打开Pycharm敲pyt ...